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

标签 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 添加 name="foo_bar"?

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

最佳答案

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

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

关于java - 使用 EclipseLink 将 @Table 和 @Column 的命名策略更改为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18667089/

相关文章:

java - 如何从命令行(没有 Maven/Gradle)启动 JUnit 5(平台)?

java - Spring 数据蒙戈 : How to save batch ignoring all duplicate key errors?

java - JPA native 查询中的位置参数问题

hibernate - JPA/Hibernate 加载惰性子实体并获取孙实体

java - oneToMany 连接时如何避免持久化新对象?

java - ExceptionMapper 在 grizzly 中不起作用

java.lang.ClassCastException : com. example.Entity 无法转换为 com.example.Entity

java - 如何使用两个唯一约束配置 Eclipselink ORM 对象

java - 我是否必须为双向关系设置双方?

java - 我的 hibernate 实用程序返回空 session 工厂