Hibernate可以生成大写SQL吗?

时间:2010-06-18 16:49:39

标签: java sql hibernate orm uppercase

Hibernate可以生成大写SQL吗? 即一些选项可以让它发送

SELECT table1_.prop1_ FROM my_table AS table1_;

而不是当前

select table1_.prop1_ from my_table as table1_;

我认为它的可读性差得多,尤其是对于长期查询,HBN倾向于吐。 另请参阅https://forum.hibernate.org/viewtopic.php?f=1&t=932412

由于

3 个答案:

答案 0 :(得分:3)

我不知道如何通过大写方式将关键字开箱即用。但是你可以编写自己的拦截器并实现o.h.Interceptor#onPrepareStatement(String)来转换sql字符串。

答案 1 :(得分:2)

我不知道这会强制执行大写,但它确实有助于提高可读性。在 hibernate.cfg.xml 中,将以下内容放在<session-factory>元素中:

<!--hibernate.cfg.xml -->
<property name="format_sql">true</property>

答案 2 :(得分:1)

发现:Hibernate团队的国王严格反对这样的选择:

http://opensource.atlassian.com/projects/hibernate/browse/HB-1070

对于任何寻找此事的人,请在那里发表评论(你不能就已结束的问题投票:()

更新:另一个解决方案是替换hibernate的.jar中的FreeMarker模板。