如何更改JPA生成的列名的默认格式

时间:2014-10-29 00:33:55

标签: java hibernate jpa persistence openjpa

目前,我正在将新的JPA实体映射到旧数据库。数据库中的列名称使用下划线分隔列名称,例如' my_column_name'。

问题是JPA默认使用camel case。

// Will be 'myColumnName' in queries and generated databases
private String myColumnName;

我知道可以在属性上添加@Column(name =" ..")或@JoinColumn(name =" ...") - 但这意味着我必须将它添加到所有实体中的每个属性。

@Column(name = "my_column_name")
private String myColumnName;

是否可以更改JPA的默认行为以使用' my_column_name'而不是' myColumnName'?

3 个答案:

答案 0 :(得分:2)

不幸的是,JPA没有提供任何全球命名策略。因此,您应该在每个属性上使用@Column注释。但是你可以使用Hibernate来实现这个目标。请参阅Hibernate documentation

答案 1 :(得分:1)

将以下行添加到 application.properties

rxkotlin

根据以下链接,我测试了它并且有效:

Spring Boot + JPA : Column name annotation ignored

答案 2 :(得分:0)