相关疑难解决方法(0)

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

我们通过Hibernate自动创建表格,方法是:

@Table(name = "some_table") 
Run Code Online (Sandbox Code Playgroud)

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

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class PersonBankAccount extends AbstractPersistable<Long> {
Run Code Online (Sandbox Code Playgroud)

延伸的

@Entity
@Table(name = "person_bank_account")
public class PersonBankAccountSimple extends PersonBankAccount {
Run Code Online (Sandbox Code Playgroud)

命名数据库中的结果表

personbankaccount
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

自动发电机说:

table not found: PersonBankAccount 
Run Code Online (Sandbox Code Playgroud)

当他第一次创建并重新运行时,他说:

table found: personbankaccount
Run Code Online (Sandbox Code Playgroud)

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

java entity hibernate jpa

5
推荐指数
1
解决办法
9100
查看次数

标签 统计

entity ×1

hibernate ×1

java ×1

jpa ×1