1

像这样定义 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 一起使用。

4

1 回答 1

1

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

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

于 2013-09-09T14:16:17.093 回答