Hibernate忽略扩展类的@Table(name =“...”) - 创建的表名都是小写的

时间:2011-12-22 14:52:05

标签: java hibernate jpa entity

我们通过分配:

自动通过Hibernate创建表
@Table(name = "some_table") 

过去常用于“普通”实体。但是当我们有一个抽象基类时:

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class PersonBankAccount extends AbstractPersistable<Long> {

扩展
@Entity
@Table(name = "person_bank_account")
public class PersonBankAccountSimple extends PersonBankAccount {

数据库中的结果表名为

personbankaccount

这里发生了什么?

自动生成器说:

table not found: PersonBankAccount 

首次创建并重新运行时,他说:

table found: personbankaccount

就像我说的,对于普通的表格,一切正常。

1 个答案:

答案 0 :(得分:7)

不应该是基类中表的名称。

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Table(name = "person_bank_account")
public class PersonBankAccount extends AbstractPersistable<Long> {