在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的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate 生成策略和缓存策略

MyEclipse的hibernate反转引擎

mybatis与hibernate区别

mybatis与hibernate区别

mybatis与hibernate区别

mybatis与hibernate区别