当前位置: 首页 > 面试题库 >

Spring Boot JPA插入带有Hibernate大写名称的TABLE

吕宣
2023-03-14
问题内容

我有一个表实体映射为:

@Entity
public class ItemsToRegister implements Serializable{

@Id
@Column(name = "ID_ITEM_TO_REGISTER")
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
.....

当我尝试在数据库中插入新记录时,表名被小写转换为:items_to_register,但是我的表名是ITEMS_TO_REGISTER如何在不更改MySql配置的情况下解决问题?(my.cnf)

我在application.properties文件中:

spring.jpa.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.naming_strategy = org.hibernate.cfg.ImprovedNamingStrategy

问题答案:

在hibernate5上,它将是

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

在您的 application.properties 文件中。



 类似资料:
  • 我有一个表实体映射为: 当我尝试在数据库中插入新记录时,表名以小写形式翻译为:items\u to\u register,但我的表名是items\u to\u register如何在不更改MySql配置的情况下修复我的问题?(我的cnf) 我的application.properties档案里有:

  • 我尝试设置我的JPA映射。由于某些原因,我必须有相同的java变量/表列名(包括大写字母),但我不能设置Hibernate。我尝试了明确的列名: 对于隐式映射: 这两种方法都创建不带大写字母的列名——“nextinvoicenr”。 我还试图改变Hibernate配置添加: 但没有成功

  • 我在Eclipse中创建了一个简单的类: 我得到了这个错误: 尽管我能够通过使Java类名以大写字母开头来解决这个问题。有人能帮助理解这里到底发生了什么吗?

  • 问题内容: 我正在尝试通过使用JAP和HIBERNATE向SQL Server 2008 R2插入一些数据。一切都“正常”,除了它非常慢。要插入20000行,大约需要45秒,而C#脚本大约需要不到1秒。 这个领域的任何资深人士都可以提供帮助吗?我会很感激。 更新:从下面的答案中得到了一些很好的建议,但仍然无法按预期工作。速度是一样的。 这是更新的persistence.xml: 这是更新的代码部分

  • 问题内容: 我希望使用该软件包封送在我的应用程序的一个导入软件包中声明的结构。 例如。: 因为是导入的,所以结构中所有可用的(导出的)字段都以大写字母开头。但我希望使用小写的键名: 将导致 {“ Foo”:42} 但我希望得到 {“ foo”:42} 是否可以通过一些简单的方法解决问题? 问题答案: 看一下encoding / json.Marshal 的文档。它讨论了如何使用struct字段标签