session中find方法和createQuery方法有什么区别?

thankyou 2004-06-23 11:14:16
createQuery也会设计到延迟加载吗?
...全文
440 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lveyo 2004-06-25
  • 打赏
  • 举报
回复
robbin 是大人物啊
thankyou 2004-06-24
  • 打赏
  • 举报
回复
我up
leejianbao2103 2004-06-24
  • 打赏
  • 举报
回复
up
TIANHEI 2004-06-24
  • 打赏
  • 举报
回复
up
bluemeteor 2004-06-24
  • 打赏
  • 举报
回复
good question啊

有兴趣的朋友可以看看hibernate的源码吧

现在手头没有源码 不过以前看过 凭印象说说吧

createQuery仅仅是生成一个Query的对象 同时初始化查询缓存 但是实际的queryString并没有提交到数据库 就这点来看 这是和find的最大视觉区别 而find方法执行后会讲查询请求提交到数据库 而createQuery进行.iterate()或者.list()后才提交查询

个人感觉两者最大的本质不同在于createQuery()操作可以进行.iterate()来延迟加载数据结果集 这在数据量很大的时候是非常必要的 而find直接一次性返回了List格式的结果集 通常来讲在小数据量精确查询的时候比较受欢迎

嗯 robbin说过 hibernate入门看文档 精通看源码

^_^
minghuitian 2004-06-24
  • 打赏
  • 举报
回复
好像不太一样吧,createQuery()是创建一个查询连接,而find()方法是查找一个东东并返回结果,查找之后并不存在连接关系
ecaol 2004-06-23
  • 打赏
  • 举报
回复
UP
liutang2 2004-06-23
  • 打赏
  • 举报
回复
关注……
UP
北极猩猩 2004-06-23
  • 打赏
  • 举报
回复
不是太熟,仔细看看文档理由没有提到。
pastelife 2004-06-23
  • 打赏
  • 举报
回复
concerning..

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧