是否可以将注释放入 Hibernate 查询语言中? 如果是的话,怎么办?
确保您的会话配置为:
<property name="hibernate.use_sql_comments">true</property>
然后做:
Query query = ...;
query.setComment("Some comment here");
您将在 MySQL 日志文件中看到类似以下内容(如果您使用的是 MySQL):
5998 Query /* Some comment here */ select .....
据我所知,HQL 不支持评论。
如果它对您的开发有帮助,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
它返回了专业实例。
也不太切题,但它可能很有用。
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)
,则支持评论。