遇到一个奇怪的,关于oracle Hibernate中的Date和序列Idoracle表:
create table tb_bill  (
   bill_id        INTEGER                         not null,
   shop_id        INTEGER,
   bill_content   VARCHAR2(200),
   bill_handler   VARCHAR2(20),
   billdate       DATE,
   constraint PK_TB_PRICEBILL primary key (bill_id)
);
序列:
create sequence SEQ_TB_BILL配置文件:
        <id name="id" unsaved-value="0">
            <column name="bill_id"/>
            <generator class="sequence">
             <param name="sequence">SEQ_TB_BILL</param>
            </generator>
        </id>
<property name="shopId" column="shop_id"/>
        <property name="billcontent" column="bill_content"/>
        <property name="billHandler" column="bill_handler"/>
<property name="billDate" column="billdate" type="" type="timestamp"/>
bean:
private int shopId;
private String billcontent;
private String billHandler;
private Date billDate;
方法就不写了,都是自动生产的!
按照,我对bean进行保存:
Bill model = new Bill();
model.setBillcontent("neirong");
model.setBillHandler("handler");
model.setBillPrice(123.02);
model.setShopId(2);
BillDAO.save(model);
System.out.println(model.getId());问题出现再那个Date型数据库,当new一个java.util.Date()再保存进去的时间是正常的,但是那个序列bill_id,就出现问题,出现的数字超级大,导致超出了int范围,如果把数据库中的billDate字段去掉,一切正常,bill_id也按照正常保存。
本人在其他类中次方法都是正常。唯独这个不正常。其他类也又时间Date,这个现象极度郁闷,整整搞了两天。后来就把时间自动从数据库得到保存!谁能告诉我这里到底怎么回事?不胜感激!