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