Hibernate 继承和Spring Boot

问题描述 投票:0回答:1

使用Hibernate和Spring Boot,让抽象类A,继承抽象类B,继承类C的正确方法是什么?

@Entity 
@Inheritance 
abstract class A{} 

@Entity
@Inheritance
abstract class B extends A{}

@Entity 
@Inheritance 
final class C entends B{} 

问题是我有一个异常 "Caused by: org.postgresql.util.PSQLException: ERROR: column something(from class A) does not exist"。我的注释是否有误?

java hibernate jpa inheritance annotations
1个回答
1
投票

据我所知,抽象类不应该是一个实体。你不能把它实例化。试试

@MappedSuperclass
public abstract class A {
}
@MappedSuperclass
public abstract class B extends A {
}
@Entity
public class C extends B {
}

而且,就像他说的,C类应该不是最终的。

© www.soinside.com 2019 - 2024. All rights reserved.