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 } }
你去,选择适合你需要的命名策略。