Hibernate实体字段camelcase,数据库下划线

我在下划线中有数据库字段。 我在camelcase中有实体字段。 我不能改变其中任何一个。

有什么东西,也许是类级注释,我可以使用默认实体列名注释到camelcase等价物?

例如,我有一个像这样的实体:

@Entity public class AuthorisationEntity { @Column(name = "non_recoverable") private BigDecimal nonRecoverable; @Column(name = "supplier_recoverable") private BigDecimal supplierRecoverable; @Column(name = "refund_amount") private BigDecimal refundAmount; } 

我梦见这个:

 @Entity @DatabaseIsUnderscoreAndThisAnnotationConvertsThemToCamelCaseByDefault public class AuthorisationEntity { private BigDecimal nonRecoverable; private BigDecimal supplierRecoverable; private BigDecimal refundAmount; } 

您可以使用hibernate的命名策略。 这种命名策略类描述了如何为给定的Java名称生成数据库名称。

看到:

命名策略示例

第二个例子

非常好的oracle命名策略 – 它将camel转换为下划线约定等等

 import org.hibernate.cfg.DefaultNamingStrategy; import org.hibernate.cfg.ImprovedNamingStrategy; public class NamingStretagyTest { public static void main(String[] args) { String colName = DefaultNamingStrategy.INSTANCE.columnName("UserName"); System.out.println(colName); // UserName colName = ImprovedNamingStrategy.INSTANCE.columnName("UserName"); System.out.println(colName);// user_name } } 

你去,选择适合你需要的命名策略。