在hibernate中修改生成的SQL
Posted
技术标签:
【中文标题】在hibernate中修改生成的SQL【英文标题】:Modifying the generated SQL in hibernate 【发布时间】:2018-07-17 23:35:19 【问题描述】:我是休眠新手,所以我对此一无所知。 Hibernate 生成 SQL 查询并在数据库上触发。
我能够从控制台检索查询,但我还希望在查询被触发之前对其进行修改。
所以如果查询是:select this_.name as name189_1_ from employee this_ where this_.name=?
如何修改此查询以获取员工 ID?
另外,由于不同的数据库支持的语法略有不同,如何在生成的 SQL 查询在数据库上触发之前修改其语法?
【问题讨论】:
你是如何在 Java 中生成查询的?您需要在此处为员工 ID 添加另一个过滤器。您是如何为name
添加过滤器的?
如果您使用的是休眠,除了非常奇怪的边缘情况,您想要手动编辑生成的 sql 是在自取其辱。
【参考方案1】:
对于问题 1: 将预测添加到标准中。参考Here
对于问题 2: 您可以通过设置 Dialect 来配置 SQL 的类型。参考Here
【讨论】:
以上是关于在hibernate中修改生成的SQL的主要内容,如果未能解决你的问题,请参考以下文章