JPA實體屬性one-to-one關係映射

來源:互聯網
上載者:User

標籤:jpa實體屬性one-to-one關係映   jpa   

package com.lc.bean;import javax.persistence.CascadeType;import javax.persistence.Column;import javax.persistence.Entity;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 {private Integer id;private String name;private IDCard idcard;@Id@GeneratedValuepublic Integer getId() {return id;}public void setId(Integer id) {this.id = id;}@Column(length = 10, nullable = false)public String getName() {return name;}public void setName(String name) {this.name = name;}@OneToOne(optional = false, cascade = CascadeType.ALL)@JoinColumn(name = "idcard_id")public IDCard getIdcard() {return idcard;}public void setIdcard(IDCard idcard) {this.idcard = idcard;}/* * 預設的建構函式 */public Person() {}// 建立一個建構函式public Person(String name) {super();this.name = name;}}


package com.lc.bean;import javax.persistence.CascadeType;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.OneToOne;@Entitypublic class IDCard {private Integer id;private String cardno;private Person person;@Id@GeneratedValuepublic Integer getId() {return id;}public void setId(Integer id) {this.id = id;}@Column(length = 18, nullable = false)public String getCardno() {return cardno;}public void setCardno(String cardno) {this.cardno = cardno;}// mappedBy在哪裡 就表示是被維護的一段 裡邊的值是另一個類的屬性值@OneToOne(mappedBy = "idcard", cascade = { CascadeType.PERSIST,CascadeType.MERGE, CascadeType.REFRESH }, optional = false)public Person getPerson() {return person;}public void setPerson(Person person) {this.person = person;}public IDCard(String cardno) {this.cardno = cardno;}public IDCard() {}}

package com.lc.junitTest;import javax.persistence.EntityManager;import javax.persistence.EntityManagerFactory;import javax.persistence.Persistence;import org.junit.Test;import com.lc.bean.IDCard;import com.lc.bean.Person;public class OneToOneTest {@Testpublic void save() {EntityManagerFactory factory = Persistence.createEntityManagerFactory("jpatest");EntityManager em = factory.createEntityManager();em.getTransaction().begin();//添加一個人Person person = new Person("徐劉根");IDCard idcard = new IDCard("1111122222");idcard.setPerson(person);person.setIdcard(idcard);em.persist(person);em.getTransaction().commit();em.close();factory.close();}}




JPA實體屬性one-to-one關係映射

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.