我正在使用hibernate并希望使用命名查询.但我不知道这是否是一个好的解决方案?请告诉我命名查询的优点.
何时编译命名查询?我们可以直接更改部署在应用服务器中的hbm文件中的命名查询吗?
请帮我.
谢谢!
Chs*_*y76 36
在实例化SessionFactory时编译命名查询(因此,基本上,当您的应用程序启动时).
因此,显而易见的优点是,所有命名查询都在那时进行验证,而不是在执行时失败.另一个优点是它们很容易( - )维护 - 当然对于复杂的查询.
的缺点是,命名查询是不能自定义在运行时 -你可以定义/供应参数,当然,但除此之外,你定义什么是你会得到什么; 你甚至无法改变排序.另一个缺点是,如果不重新加载SessionFactory,您将无法在正在运行的应用程序服务器中更改命名查询.
tsc*_*cho 22
好处
缺点
所以,我认为你应该在代码中更喜欢命名查询而不是字符串文字.当您在运行时需要某种动态查询创建时,您应该查看Hibernate Criteria API.Hibernate Criteria并不总是简单易用,但您绝对应该使用它而不是在运行时生成查询字符串.
HTH
| 归档时间: |
|
| 查看次数: |
17870 次 |
| 最近记录: |