Query接口

上一篇 / 下一篇  2009-06-16 11:52:53 / 个人分类:hibernate之路

1、如果把hibernate从mysql移植到Oracle上因为关键字冲突,怎么处理?
比如原先有一个表名叫User,在Oracle里是关键字不能使用,但是因为系统已经在使用,所以也不能修改表名,怎么处理?
答:在.hbm.xml文件里这样配置
<hibernate-mapping>
    <class name="com.kursk.hbm.User" table="`User" schema="STUDY">
...................................................
</hibernate-mapping>
用反引号(键盘1左边的按键)来处理
 
2、Query接口
2.1 如果肯定查询的结果只有一条记录,使用Query.uniqueResult()方法;
2.2 可以通过给Hql里的查询条件命名的办法,来简化HQL,比如
String name=...
String id=....
String hql="from User as user where user.name=:name and user.id=:id";
Query query=s.createQuery(hql);
query.setString(name,name);
query.setString(id,id);
....................
2.3 分页。HIbernate将多种类型的数据库使用下面两个方法来处理
setFirstResult() 从哪一条记录开始
setMaxResult()   取多少条记录
那么hibernate是怎么知道是哪种类型的数据库呢——通过hibernate.cfg.xml的dialect(方言)这个配置项
 
3、Hql也是一门语言,学习成本很大,建议边使用边学习;
 
4、小技巧,hibernate.cfg.xml配置项的值可以省略“hibernate”这个开头。
 
4、

TAG:

 

评分:0

我来说两句

Open Toolbar