使用EclipseLink将@Table和@Column的命名策略更改为小写

时间:2013-09-06 21:48:38

标签: java jpa eclipselink

定义这样的JPA实体时:

@Entity
@Table
public class CaseExample implements Serializable {
    @Id
    Long id;
    @Basic
    String fooBar;
}

自动创建的SQL表名称为“CASEEXAMPLE”,列名为“FOOBAR”。 如何将其从大写改为小写与下划线,例如“case_example”和“foo_bar”没有必须为每个@Table和@Column添加一个名称=“foo_bar”?

命名策略是由JPA定义还是实现依赖?我将JPA 2.0与EclipseLink 2.5.0一起使用。

1 个答案:

答案 0 :(得分:1)

JPA标准化名称。我会使用标准留下它们,或使用@Column来更改特定的标准。

使用EclipseLink,您可以使用DescriptorCustomizer或SessionCustomizer中自己的代码修改列名。您只需迭代描述符的映射并根据命名约定重置fieldNames。