当前位置: 首页 > 知识库问答 >
问题:

在hibernate中修改生成的SQL

闻人昊昊
2023-03-14

我是Hibernate新手,所以我对此一无所知。Hibernate会生成SQL查询并在数据库上触发。

我能够从控制台检索查询,但我也希望在触发查询之前对其进行修改。

因此,如果查询为:请选择此项。将员工姓名命名为189_1_。姓名=

>

此外,由于不同的数据库支持稍有不同的语法,我如何在对数据库启动生成的SQL查询之前修改其语法?


共有1个答案

凌成天
2023-03-14

问题1:将预测添加到标准中。参考这里

对于问题2:可以通过设置方言来配置SQL的类型。参考这里

 类似资料:
  • 我正在为mysql数据库创建一个REST api服务。我使用IntelliJ的持久化工具生成了类。它做得很好。 我正在使用的模式有一些古怪之处。用户希望endpoint可由“id”主键列以外的其他属性访问。 Ex:<代码>/对象/ 这里有一个问题。模式可以改变。name属性不会去任何地方,所以我可以安全地假设它将永远在对象上。 我了解到您可以使用超类强制这些生成的实体具有自定义属性而不会影响数据库

  • 问题内容: 我的UserDetails类与Entitity类Vehicle具有一对一的映射。创建2个表并分配一个通用外键,该键将vehicle_id列(UserDetails表)映射到主键vehicleId(Vehicle表)。 我的问题是:如何将生成的外键更改为有意义的内容,例如Fk_userdetails_vehicle。 问题答案: 从JPA 2.1开始,您可以使用@ javax.persi

  • 我的UserDetails类与Entitity类Vehicle有一个一对一的映射。创建两个表并分配一个泛型外键,该外键映射vehicle_id列(UserDetails表)至主键vehicleId(Vehicle table)。 我的问题是:我们如何将这个生成的外键改变成有意义的东西,比如Fk_userdetails_vehicle。

  • 本文向大家介绍ubuntu中修改grub的启动时间生成,包括了ubuntu中修改grub的启动时间生成的使用技巧和注意事项,需要的朋友参考一下 网上查询修改grub的启动时间基本上是修改 /etc/default/grub 然后运行update-grub重新生成/boot/grub/grub.cfg.然而这并不管用,依旧要等待30秒 查看/boot/grub/grub.cfg 从上面的配置可以看到

  • 尝试使用 HQL 从表中获取记录时出现错误 原因:com . Mysql . JDBC . exceptions . JDBC 4 . MySQL syntaxerrorexception:您的SQL语法有错误;请查阅与您的MySQL服务器版本相对应的手册,了解使用near '的正确语法。userinfo userinfo 0 _ where userinfo 0 _。login_id='musk

  • 我已经用hibernate的@Audited注释审计了我的实体。它有一个简单的机制,默认为每个实体创建一个REVINFO表和一个_AUD,并在每个_AUD表中创建一个与REVINFO表相关的外键。但我想对本地进行修订。这意味着我要将修订版移动到each _AUD表并删除REVINFO表。 根据Hibernate envers页面 “本地修订”,即独立地为其创建修订。这不会启用关系的正确版本控制,但