1. Hibernate有哪几种查询数据的方式
3种:hql、QBC——Query By Criteria API、原生sql (通过createSQLQuery建立)
2. 谈谈Hibernate中inverse的作用
inverse属性默认是false,就是说关系的两端都来维护关系。
比如Student和Teacher是多对多关系,用一个中间表TeacherStudent维护。Gp)i
如果Student这边inverse=”true”, 那么关系由另一端Teacher维护,就是说当插入Student时,不会操作TeacherStudent表(中间表)。只有Teacher插入或删除时才会触发对中间表的操作。所以两边都inverse=”true”是不对的,会导致任何操作都不触发对中间表的影响;当两边都inverse=”false” 或默认时,会导致在中间表中插入两次关系。
3. 说说Hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。
saveOrUpdate()方法可以实现update()的功能,但会多些步骤,具体如下:
如果对象在该session中已经被持久化,不进行操作;对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值,调用save()方法保存它;如果session中的另一个对象有相同的标识符抛出一个异常;以上皆不符合则调用update()更新之。
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。其区别在于:
如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException;load方法可返回实体的代理类实例,而get方法永远直接返回实体类;load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。
分享到:
相关推荐
JAVA这门语言含蓄细腻,下面我给大家推荐几道软件开发企业的JAVA面试题,希望喜欢!
java面试问题小集 收集了一些面试题目
C#.net面试小集,word文档,.net面试题
小学数学组合图形题小集.doc
ISO9000国家注册审核员考试试题小集.pdf
很好的资料,你快下呀! 加油! 谁下了,考试就不用担心了! 你还等什么? 快! 好的,感谢你了!
知识小集微信小程序
GAS汇编指令小集GAS汇编指令小集GAS汇编指令小集GAS汇编指令小集GAS汇编指令小集GAS汇编指令小集GAS汇编指令小集
iOS-InterviewQuestion iOS 开发者在面试过程中,常见的一些面试题以及分析. 知识小集:
ACM常用算法小集ACM常用算法小集ACM常用算法小集ACM常用算法小集ACM常用算法小集
FreeRTOS资料小集.CHM
Excel技巧小集,Excel使用技巧,可供大家学习
对联基础知识小集.pdf
一些网页特效代码小集.pdf
最新浪漫温馨短信小集.doc
初中语文文摘历史名人轶事小集
小学一年级期末教师评语小集.pdf
度小集村小学工作计划.doc
iOS知识小集的初衷是希望用300字左右(外加代码和效果展示)来说明一个小知识点,这样读者可以在上下班路上,花个2分钟就能了解一个iOS开发的小知识。