Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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 Jpa@OnetoOne关系_Java_Jpa - Fatal编程技术网

Java Jpa@OnetoOne关系

Java Jpa@OnetoOne关系,java,jpa,Java,Jpa,这是我的实体类作者 getter和setter&零参数构造函数 这是我的另一个实体AuthorDetail,我使用@OneToOneoptional=false,mappedBy=AuthorDetail映射了它 接球手和接球手 这是我的主课 如果我尝试运行该程序,就会出现异常 如果想要单向关系,则不需要在两个类中都写入@OneToOne。 从给定的一段代码来看,您似乎希望在Author detail和Author之间建立双向关系 为了让另一方了解双向关系,需要将mappedBy属性添加到@On

这是我的实体类作者

getter和setter&零参数构造函数

这是我的另一个实体AuthorDetail,我使用@OneToOneoptional=false,mappedBy=AuthorDetail映射了它

接球手和接球手 这是我的主课

如果我尝试运行该程序,就会出现异常


如果想要单向关系,则不需要在两个类中都写入@OneToOne。 从给定的一段代码来看,您似乎希望在Author detail和Author之间建立双向关系

为了让另一方了解双向关系,需要将mappedBy属性添加到@OneToOne注释中。此属性引用作为关系所有者的实体中的Java属性。在您的情况下,需要在AuthorDetail类中添加

@OneToOneoptional=false,mappedBy=authority 私人作者

在mappedBy属性中,需要引用实体而不是类名。

在作者中更改以下内容:

@OneToOne
private AuthorDetail authorId;
致:


您使用detailSet的目的是什么?您不应该使用新的详细信息设置作者的authId吗?请同时发布您得到的异常,因为它们有助于指出问题Sauthor author=新作者;作者:setFirstMD;作者:setLastRAHMATH;author.setBioA软件开发人员//设置细节集//detailSet=新HashSet;AuthorDetail=新的AuthorDetail;detail.setAddress1地址1;detail.setAddress2Address2;detail.setCityNoMansLand;detail.setstatez;detail.setZip12345;detail.setnotes这是测试细节;detail.setAuthoridautor;如何设置authorId的值
 @Column(name = "ID")
private Long id;

@Column(name = "ADDRESS1")
private String address1;

@Column(name="ADDRESS2")
private String address2;

@Column(name = "CITY")
private String city;

@Column(name = "STATE1")
private String state;

@Column(name = "ZIP")
private String zip;

@Column(name = "START_DATE")
@Temporal(TemporalType.DATE)
private Date startDate;

@Lob
@Column(name = "NOTES")
private String notes;

@OneToOne(optional = false,mappedBy = "authorDetail")
private Author authorId;
`EntityTransaction entr=em.getTransaction();
        entr.begin();
        Author author=new Author();
        author.setFirst("MD");
        author.setLast("RAHMATH");
        author.setBio("A Software Developer");

        Set detailSet=new HashSet<AuthorDetail>();
        AuthorDetail detail=new AuthorDetail();
        detail.setAddress1("Address1");
        detail.setAddress2("Address2");
        detail.setCity("NoMansLand");
        detail.setState("ZZ");
        detail.setZip("12345");
        detail.setNotes("This is test detail");
        detailSet.add(detail);
        em.persist(author);
        entr.commit();`
@OneToOne
private AuthorDetail authorId;
@OneToOne
private AuthorDetail authorDetail;