Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
使用JPA的一对一关系_Jpa_Entity_Entity Relationship - Fatal编程技术网

使用JPA的一对一关系

使用JPA的一对一关系,jpa,entity,entity-relationship,Jpa,Entity,Entity Relationship,我使用JPA创建了两个表。我需要给出这些表之间的1-1关系。谁能告诉我如何给出这些表之间的关系。只需在表中添加一列,用FK约束“拥有”关系即可。例如: CREATE TABLE MYENTITYA ( ID BIGINT NOT NULL, MYENTITYB_ID BIGINT ); CREATE TABLE MYENTITYB ( ID BIGINT NOT NULL ); ALTER TABLE MYENTITYA ADD

我使用JPA创建了两个表。我需要给出这些表之间的1-1关系。谁能告诉我如何给出这些表之间的关系。

只需在表中添加一列,用FK约束“拥有”关系即可。例如:

CREATE TABLE MYENTITYA ( ID BIGINT NOT NULL, MYENTITYB_ID BIGINT ); CREATE TABLE MYENTITYB ( ID BIGINT NOT NULL ); ALTER TABLE MYENTITYA ADD CONSTRAINT SQL100326144838300 PRIMARY KEY (ID); ALTER TABLE MYENTITYB ADD CONSTRAINT SQL100326144838430 PRIMARY KEY (ID); ALTER TABLE MYENTITYA ADD CONSTRAINT FKB65AC952578E2EA3 FOREIGN KEY (MYENTITYB_ID) REFERENCES MYENTITYB (ID); 如果
EntityA
EntityB
之间的关系不是可选的,则添加
notnull
约束

@Entity
public class MyEntityA implements Serializable {
    private Long id;
    private MyEntityB myEntityB;

    @Id
    @GeneratedValue
    public Long getId() {
        return this.id;
    }

    @OneToOne(optional = true, cascade = CascadeType.ALL)
    public MyEntityB getEntityB() {
        return this.myEntityB;
    }

    //...
}

@Entity
public class MyEntityB implements Serializable {
    private Long id;

    @Id
    @GeneratedValue
    public Long getId() {
        return id;
    }

    //...
}