Hibernate 注解映射
生活随笔
收集整理的這篇文章主要介紹了
Hibernate 注解映射
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先要創建要映射的實體類
再要hibernate.cfg.xml中配置映射類
最后是一對一的注解映射 人和身份證 摘取其中最重要的代碼片段: Person.java @OneToOne(cascade={CascadeType.ALL},mappedBy="person") ??????????private IdCard card;
IdCard.java ??????????@OneToOne ? ? ? ? ?? //外鍵唯一 ??????????@JoinColumn(name="uid",unique=true) ??????????private Person person ;
一對多映射,一個人可以有多個收貨地址
User.java
package star.july.b_annotation; import java.util.HashSet; import java.util.Set; 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.OneToMany; import javax.persistence.Table; /*** 使用注解映射*/ /*** @author Starjuly**/ //實體類 @Entity //表名稱 @Table(name="t_user") public class User {@Id//自增長@GeneratedValue@Columnprivate int id;@Column(name="uName")private String name;//一對多連接//級聯操作:CascadeType.ALL//主鍵維護策略:mappedBy:把關聯維護權交給Address的user@OneToMany(cascade={CascadeType.ALL},mappedBy="user")//加入外鍵//使用mappedBy后就不能使用JoinColumn和JoinTable了 // @JoinColumn(name="uid")private Set<Address> address = new HashSet<Address>();public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Set<Address> getAddress() {return address;}public void setAddress(Set<Address> address) {this.address = address;}}Address.java package star.july.b_annotation; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; @Entity @Table(name="t_address") public class Address {@Id@GeneratedValue@Columnprivate int id;@Column(name="adsName")private String name;@Columnprivate String address;public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}//多對一連接@ManyToOne@JoinColumn(name="uid")private User user = new User();public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}}再要hibernate.cfg.xml中配置映射類
<!-- 映射類 --> ??????????<mapping class="star.july.b_annotation.User"/>?????????? ??????????<mapping class="star.july.b_annotation.Course"/>
測試類,包括一對多,多對多,一對一
接下來是多對多的注解映射
最后是一對一的注解映射 人和身份證 摘取其中最重要的代碼片段: Person.java @OneToOne(cascade={CascadeType.ALL},mappedBy="person") ??????????private IdCard card;
IdCard.java ??????????@OneToOne ? ? ? ? ?? //外鍵唯一 ??????????@JoinColumn(name="uid",unique=true) ??????????private Person person ;
總結
以上是生活随笔為你收集整理的Hibernate 注解映射的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hibernate中的HQL的基本常用小
- 下一篇: AJAX的异步请求小例子