我正在开发一个项目,其中通过添加Hibernate批注来保留一些POJO。我遇到的一个问题是,这样的代码失败了,因为Hibernate尝试将内的子字段映射Time_T到同一列上(即startTime.sec,stopTime.sec两者都试图映射到colum sec,从而导致错误)。
Time_T
startTime.sec
stopTime.sec
sec
@Entity public class ExampleClass { @Id long eventId; Time_T startTime; Time_T stopTime; } @Embeddable public class Time_T { int sec; int nsec; }
由于会有很多出现这样在整个系统中,这将是很好,如果有一个选项来自动添加一个前缀列的名称(例如使列是startTime_sec,startTime_nsec,stopTime_sec,stopTime_nsec),而不必基于每个应用覆盖领域基础。Hibernate是否具有此功能,还是有其他合理的解决方法?
startTime_sec
startTime_nsec
stopTime_sec
stopTime_nsec
尝试将属性设置hibernate.ejb.naming_strategy为org.hibernate.cfg.DefaultComponentSafeNamingStrategy
hibernate.ejb.naming_strategy
org.hibernate.cfg.DefaultComponentSafeNamingStrategy