一尘不染

Hibernate的改进的NamingStrategy覆盖实体中的表名称

hibernate

我正在使用org.hibernate.cfg.ImprovedNamingStrategy,但是对于表我已经明确指定了表名

@Table(name="EventLog",schema = "eventlogs")

但是hibernate似乎正在寻找event_log。显式命名不应该覆盖EnhancedNamingStrategy提供的命名


阅读 301

收藏
2020-06-20

共1个答案

一尘不染

这是org.hibernate.cfg.ImprovedNamingStrategy的行为,它将混合大小写的名称转换为嵌入的下划线名称。http://docs.jboss.org/hibernate/core/3.5/api/org/hibernate/cfg/ImprovedNamingStrategy.html。因此,如果您明确使用名称“
EventLog”,它将转换为“ event_log”。

如果您只想使用在中显式指定的名称@Table,则应使用org.hibernate.cfg.DefaultNamingStrategy。默认情况下,在实例化org.hibernate.cfg.Configuration对象时使用它

2020-06-20