我有一个名为LocationType
的实体( BaseEntity
是一个@MappedSuperclass
):
@Entity
public class LocationType extends BaseEntity
这个实体生成的表名称是location_type
。我知道默认的命名策略是这样工作的。
我无法理解的是为什么我无法强制Hibernate使用字面名称locationtype
。无论我做什么:
@Entity(name = "LocationType")
public class LocationType
或者
@Entity
@Table(name = "LocationType")
public class LocationType
或者
@Entity(name = "LocationType")
@Table(name = "LocationType")
public class LocationType
表名 | 总是以location_type 结尾。Hibernate能够更好地知道这一点! |
如果我使用其他名称 |
@Entity(name = "wtf")
表名也变成了wtf
。这是文档中记录的行为吗?看起来像一个 Bug。
类似的问题:Hibernate 忽略扩展类的 @Table(name = "...") - 创建的表名都是小写(虽然它涉及继承映射)。
javax.persistence.Entity
,我并没有看到任何问题,你能否发布一些更多的细节,例如hibernate.cfg.xml文件中的任何特定属性和您的超类等,以更好地理解这个问题。 - Chaitanya