Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate中使用注释的接口映射集合_Java_Hibernate_Jpa_Interface_Annotations - Fatal编程技术网

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”)
私人名单规则;
它说:

当前不支持对接口进行注释