阅读背景:

jpa双向一对一关联关系

来源:互联网 

1.1.  关系保护方

Person.java

package com.morris.entity;
 
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
 
@Entity
@Table(name="persons")
public class Person {
   
    @Id
    @GeneratedValue
    private Integer personId;
   
    @Column(name="person_name",length=50,nullable=false)
    private String personName;
   
    /**
     * 一对一关联关系配置
     * 没有配置mappedBy即为关系保护端
     * 配置了optional解释外键不能为空,在另外一方也一样不能为空,不须要再配置了
     */
    @OneToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER,optional=false)
    @JoinColumn(name="card_id")
    private IDCard idCard;
 
    public Integer getPersonId() {
       return personId;
    }
 
    public void setPersonId(Integer personId) {
       this.personId = personId;
    }
 
    public String getPersonName() {
       return personName;
    }
 
    public void setPersonName(String personName) {
       this.personName = personName;
    }
 
    public IDCard getIdCard() {
       return idCard;
    }
 
    public void setIdCard(IDCard idCard) {
       this.idCard = idCard;
    }
 
    public Person(Integer personId, String personName, IDCard idCard) {
       super();
       this.personId = personId;
       this.personName = personName;
       this.idCard = idCard;
    }
 
    public Person() {
       super();
       // TODO Auto-generated constructor stub
    }
 
    @Override
    public String toString() {
       return "Person [personId=" + personId + ", personName=" + personName
              + ", idCard=" + idCard + "]";
    }
 
    public Person(String personName) {
       super();
       this.personName = personName;
    }
}package com.morris




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: