目前,我正在将新的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'?
答案 0 :(得分:2)
不幸的是,JPA没有提供任何全球命名策略。因此,您应该在每个属性上使用@Column注释。但是你可以使用Hibernate来实现这个目标。请参阅Hibernate documentation。
答案 1 :(得分:1)
将以下行添加到 application.properties :
rxkotlin
根据以下链接,我测试了它并且有效:
答案 2 :(得分:0)