如何将注释放入HQL(Hibernate Query Language)中?

问题描述 投票:0回答:4

是否可以将注释放入 Hibernate 查询语言中? 如果是的话,怎么办?

database nhibernate comments
4个回答
23
投票

确保您的会话配置为:


<property name="hibernate.use_sql_comments">true</property>

然后做:


Query query = ...;
query.setComment("Some comment here");

您将在 MySQL 日志文件中看到类似以下内容(如果您使用的是 MySQL):


5998 Query /* Some comment here */ select .....


10
投票

据我所知,HQL 不支持评论。


0
投票

如果它对您的开发有帮助,Hibernate Tools (Eclipse) 在其 HQL 编辑器中支持双连字符作为单行注释。对我有很大帮助。我刚刚尝试过 JPQL 语句

SELECT pro --ro.id, cl.name, te.ordinalNbr, tt.code, se.startYear, pro.id, pcl.name, pte.ordinalNbr, ptt.code, pse.startYear
FROM Roster ro
  JOIN ro.season se
  JOIN ro.team te
  JOIN te.club cl
  JOIN te.teamType tt
  JOIN te.rosters pro
  JOIN pro.season pse
  JOIN pro.team pte
  JOIN pte.club pcl
  JOIN pte.teamType ptt
WHERE ro.id = 32
ORDER BY pse.startYear

它返回了专业实例。

也不太切题,但它可能很有用。


0
投票

Hibernate 6 支持 HQL 中的注释。 来自 https://docs.jboss.org/hibernate/orm/6.5/querylanguage/html_single/Hibernate_Query_Language.html#comments

HQL 中的注释看起来像 Java 中的多行注释。他们是 由 /* 和 */ 分隔。

SQL 风格的 -- 和 Java 风格的 // 行结束注释都不是 允许。

框架可能需要一些时间才能赶上。 例如,尽管 Spring Boot 3.1.6 使用 Hibernate 6.1,但其

@Query
注解不允许注释。 如果您以编程方式调用
EntityManager.createQuery(String)
,则支持评论。

© www.soinside.com 2019 - 2024. All rights reserved.