我在hbm文件中编写HQL,就像这样
<query name="GetFabric">
<![CDATA[Select F.FabricName,FS.FabricSeasonName from Fabric F,FabricSeason FS where F.FabricSeasonID=FS.ID]]>
</query>
但我们可以在代码文件中编写查询,那么编写HQL(HBM文件或代码文件)的更好方法是什么
答案 0 :(得分:6)
我将HQL嵌入HBM
文件的主要原因很简单: -
在构建会话工厂时解析/检查/缓存HQL元数据
这意味着如果您有错误,您将在代码启动时了解它们。 HQL也被缓存并准备运行。在代码中使用HQL意味着首次运行时需要解析和缓存HQL,因此第一次运行代码会稍慢。
答案 1 :(得分:0)
如果查询需要在单个函数中执行,我会将其嵌入到代码中,但是如果我需要在不同的项目/类中运行此查询,则将其放在hbm.xml中
答案 2 :(得分:0)
Hibernate映射文件中的命名查询是: