2014-03-04 74 views
1

我有以下项目:Hibernate无法实例化抽象类或接口

@Entity 
@Table(name = "A") 
public class A{ 
    @Id 
    private Long id = null; 

    @OneToMany(mappedBy = "a_1", cascade = CascadeType.ALL, 
       fetch = FetchType.EAGER) 
    private List<B> bs; 
} 

@Entity 
@Table(name = "B") 
@Inheritance(strategy = InheritanceType.SINGLE_TABLE) 
@DiscriminatorColumn(name = "BTYPE", 
        discriminatorType = DiscriminatorType.STRING) 
public abstract class B{ 
    @Id 
    private Long id = null; 

    @Embedded 
    private C c; 

    @ManyToOne(cascade=CascadeType.REFRESH) 
    @JoinColumn(name="a_id") 
    @XmlTransient 
    private A a_1; 
} 

@Embeddable 
public class C { 
@OneToMany(mappedBy = "b_1", cascade = CascadeType.ALL, 
      fetch = FetchType.EAGER)) 
    private Set<D> ds; 
} 

@Entity 
@Table(name = "D") 
public class D { 
@ManyToOne(cascade=CascadeType.REFRESH) 
    @JoinColumn(name="b_id") 
    private B b_1; 
} 

@Entity 
@DiscriminatorValue(value = "X_D") 
public class X extends B { 

} 

@Entity 
@DiscriminatorValue(value = "Y_D") 
public class Y extends B { 

} 

所有这些类实现Serializable接口,除了X和Y

在当我打电话entityManager.merge(A)的那一刻 我得到:

产生的原因:org.hibernate.InstantiationException:不能实例化抽象类或接口:乙

任何人可以帮助请问我吗?

Thnaks提前

回答

-1

我看到了类似的问题,人们不得不作出具体类(X和Y这里)为了使实施Serializable它的工作

+1

仍然得到错误 – user1345883

相关问题