一尘不染

自动为@Embeddable类的列名称添加前缀

hibernate

我正在开发一个项目,其中通过添加Hibernate批注来保留一些POJO。我遇到的一个问题是,这样的代码失败了,因为Hibernate尝试将内的子字段映射Time_T到同一列上(即startTime.secstopTime.sec两者都试图映射到colum
sec,从而导致错误)。

@Entity
public class ExampleClass
{
  @Id
  long eventId;

  Time_T startTime;
  Time_T stopTime;
}

@Embeddable
public class Time_T
{
  int sec;
  int nsec;
}

由于会有很多出现这样在整个系统中,这将是很好,如果有一个选项来自动添加一个前缀列的名称(例如使列是startTime_secstartTime_nsecstopTime_secstopTime_nsec),而不必基于每个应用覆盖领域基础。Hibernate是否具有此功能,还是有其他合理的解决方法?


阅读 250

收藏
2020-06-20

共1个答案

一尘不染

尝试将属性设置hibernate.ejb.naming_strategyorg.hibernate.cfg.DefaultComponentSafeNamingStrategy

2020-06-20