Java 休眠:@OneToMany(mappedby=“abstractClass”)不工作
我的问题是:我有一个抽象类C,我试图得到一对多关系:Java 休眠:@OneToMany(mappedby=“abstractClass”)不工作,java,hibernate,Java,Hibernate,我的问题是:我有一个抽象类C,我试图得到一对多关系: @OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY,mappedBy = "abstractAttachmentObject",targetEntity=Attachment.class) 但我得到: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on ********.attachmentObject
@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY,mappedBy = "abstractAttachmentObject",targetEntity=Attachment.class)
但我得到:
org.hibernate.AnnotationException: @OneToOne or @ManyToOne on ********.attachmentObject references an unknown entity: *****************.AbstractAttachmentObject
我尝试了以前文章中的不同答案,但有人总结说hibernate不支持这一点。
这个问题现在解决了吗
代码很长,但我可以解释其主要思想:我有一个名为AbstractAttachmentObject的抽象类,它还有两个继承它的类A和B。这个抽象类应该与类附件有一对多的关系,其中这些类的一个对象可以有多个附件
`
`错误说明您需要将@Entity放在Attachment.class上。您可以共享这些类的源代码吗?如果您只想单向删除mappedby属性。或双向是必需的,在附件类中,使用OneToOne或ManyToOne注释将关系定义回C,并且属性名称必须是abstractAttachmentObject。我在Attachment.class上有@Entity。我确实尝试更改属性名称并定义ManyToOne。仍然无法工作,我还添加了一些代码:
@MappedSuperclass
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class AbstractAttachmentObject extends BaseEntity implements AttachmentObject{
@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY,mappedBy = "abstractAttachmentObject",targetEntity=Attachment.class)
private List<Attachment> attachments ;
}
@Entity
@Table(name="ATTACHMENT")
public class Attachment extends BaseEntity{
@ManyToOne
@JoinColumn(name="attachment_object_id")
private AbstractAttachmentObject abstractAttachmentObject;
}