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 休眠:@OneToMany(mappedby=“abstractClass”)不工作_Java_Hibernate - Fatal编程技术网

Java 休眠:@OneToMany(mappedby=“abstractClass”)不工作

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

我的问题是:我有一个抽象类C,我试图得到一对多关系:

@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;
}