Java Hibernate中使用注释的接口映射集合
我有一个名为Java Hibernate中使用注释的接口映射集合,java,hibernate,jpa,interface,annotations,Java,Hibernate,Jpa,Interface,Annotations,我有一个名为Rule的接口,其中有两个实现类,它们都共享一个抽象基类 @MappedSuperclass public interface Rule { .. } @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public abstract class BaseRule implements Rule { @Entity public class ImlementingRule1 extends BaseRu
Rule
的接口,其中有两个实现类,它们都共享一个抽象基类
@MappedSuperclass
public interface Rule { .. }
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class BaseRule implements Rule {
@Entity
public class ImlementingRule1 extends BaseRule {
@Entity
public class ImlementingRule1 extends BaseRule {
我在Containegrules类中使用了这个规则
接口:
@OneToMany
@JoinColumn(name = "RULES_ID")
private List<Rule> rules;
@OneToMany
@JoinColumn(name=“RULES\u ID”)
私人名单规则;
无论我尝试什么设置,最终都会得到:
Caused by: org.hibernate.MappingException: Cannot use identity column key generation with <union-subclass> mapping for: mynamespace.BaseRule
由以下原因引起:org.hibernate.MappingException:无法使用标识列键生成与:mynamespace.BaseRule的映射
我个人认为,除了使用抽象基类而不是接口之外,没有其他解决方案
@OneToMany
@JoinColumn(name = "RULES_ID")
private List<BaseRule> rules;
@OneToMany
@JoinColumn(name=“RULES\u ID”)
私人名单规则;
它说:
当前不支持对接口进行注释