hibernate 在j2ee中要用dual

网摘,自已试了可以,但不能在hql中加序列。

想查出序列还是jdbc.

1.新建类 Dual

packagemypath;

publicclassDualimplementsSerializable{

privateLongid;

publicLonggetId(){

returnthis.id;

    }

    public void setId(Long id) {

this.id=id;

}

}

2.建立映射文件

dual.hbm.xml

<?xmlversion="1.0"encoding="GBK"?>

<!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

<classname="mypath.Dual"table="DUAL">

<idname="id"type="java.lang.Long"column="ID">

<generatorclass="sequence"><!--可以替换-->

<paramname="sequence"></param>

</generator>

</id>

</class>

</hibernate-mapping>

3.注意事项

用selectsysdatefromDual;返回的数据类型为java.sql.Date;精度只到天

可以用selectto_char(sysdate,'yyyy-MM-ddhh:mm:ss')fromDual;解决

但是有个问题用hibernate的session查询的时候,时间将近4s见鬼:)

相关推荐