Hibernate OneToOne注解配置

来源:互联网 发布:淘宝店铺违规扣48分 编辑:程序博客网 时间:2024/06/04 18:06

1. Hibernate Annotation注解OneToOne 

 

原理就不介绍了

 

2. 数据字典表

 

  tb_addressInfo

 

 

Sql代码  收藏代码
  1. CREATE TABLE `tb_addressinfo` (  
  2.   `id` int(11) NOT NULL AUTO_INCREMENT,  
  3.   `detail` varchar(255) DEFAULT NULL,  
  4.   `namevarchar(255) DEFAULT NULL,  
  5.   `userInfo_id` int(11) DEFAULT NULL,  
  6.   PRIMARY KEY (`id`),  
  7.   UNIQUE KEY `id` (`id`),  
  8.   UNIQUE KEY `userInfo_id` (`userInfo_id`),  
  9.   KEY `FK2F779271FC1A0B7B` (`userInfo_id`),  
  10.   CONSTRAINT `FK2F779271FC1A0B7B` FOREIGN KEY (`userInfo_id`) REFERENCES `tb_userinfo` (`id`)  
  11. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;  

 

tb_userinfo

 

Sql代码  收藏代码
  1. CREATE TABLE `tb_userinfo` (  
  2.   `id` int(11) NOT NULL AUTO_INCREMENT,  
  3.   `namevarchar(255) DEFAULT NULL,  
  4.   PRIMARY KEY (`id`),  
  5.   UNIQUE KEY `id` (`id`)  
  6. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;  

 

AddressInfo

 

Java代码  收藏代码
  1. package org.zk.liuqing.domain;  
  2.   
  3. import static javax.persistence.GenerationType.IDENTITY;  
  4.   
  5. import java.io.Serializable;  
  6.   
  7. import javax.persistence.Column;  
  8. import javax.persistence.Entity;  
  9. import javax.persistence.GeneratedValue;  
  10. import javax.persistence.Id;  
  11. import javax.persistence.JoinColumn;  
  12. import javax.persistence.OneToOne;  
  13. import javax.persistence.Table;  
  14.   
  15. /** 
  16.  *  
  17.  * @author LiuQing 
  18.  * @see 显示地址 
  19.  * @version 1.0 
  20.  * @date 2010-6-26 下午11:00:02 
  21.  */  
  22. @Entity(name="AddressInfo")  
  23. @Table(name="tb_addressInfo")  
  24. public class AddressInfo implements Serializable {  
  25.       
  26.     private static final long serialVersionUID = -3387012027037438359L;  
  27.   
  28.     @Id @GeneratedValue(strategy=IDENTITY)  
  29.     @Column(name="id", unique=true, nullable=false)  
  30.     private Integer id;  
  31.       
  32.     @Column  
  33.     private String name;  
  34.       
  35.     @Column  
  36.     private String detail;  
  37.       
  38.     @OneToOne  
  39.     @JoinColumn(name="userInfo_id",insertable=true,unique=true)  
  40.     private UserInfo userInfo;  
  41.   
  42.     public UserInfo getUserInfo() {  
  43.         return userInfo;  
  44.     }  
  45.       
  46.     public void setUserInfoAddressInfo(UserInfo userInfo) {  
  47.         this.userInfo = userInfo;  
  48.         this.userInfo.setAddressInfo(this);  
  49.     }  
  50.   
  51.     public void setUserInfo(UserInfo userInfo) {  
  52.         this.userInfo = userInfo;  
  53.     }  
  54.   
  55.     public Integer getId() {  
  56.         return id;  
  57.     }  
  58.   
  59.     public void setId(Integer id) {  
  60.         this.id = id;  
  61.     }  
  62.   
  63.     public String getName() {  
  64.         return name;  
  65.     }  
  66.   
  67.     public void setName(String name) {  
  68.         this.name = name;  
  69.     }  
  70.   
  71.     public String getDetail() {  
  72.         return detail;  
  73.     }  
  74.   
  75.     public void setDetail(String detail) {  
  76.         this.detail = detail;  
  77.     }  
  78.   
  79. }  
 

 

 

Java代码  收藏代码
  1. package org.zk.liuqing.domain;  
  2.   
  3. import static javax.persistence.GenerationType.IDENTITY;  
  4.   
  5. import java.io.Serializable;  
  6.   
  7. import javax.persistence.Column;  
  8. import javax.persistence.Entity;  
  9. import javax.persistence.FetchType;  
  10. import javax.persistence.GeneratedValue;  
  11. import javax.persistence.Id;  
  12. import javax.persistence.OneToOne;  
  13. import javax.persistence.Table;  
  14.   
  15. /** 
  16.  *  
  17.  * @author LiuQing 
  18.  * @see 用户信息 
  19.  * @version 1.0 
  20.  * @date 2010-6-26 下午11:00:45 
  21.  */  
  22. @Entity(name="UserInfo")  
  23. @Table(name="tb_userInfo")  
  24. public class UserInfo implements Serializable {  
  25.       
  26.     private static final long serialVersionUID = 1054325973011267306L;  
  27.       
  28.     @Id @GeneratedValue(strategy=IDENTITY)  
  29.     @Column(name="id", unique=true, nullable=false)  
  30.     private Integer id;  
  31.       
  32.     @Column  
  33.     private String name;  
  34.       
  35.     @OneToOne(mappedBy="userInfo",fetch=FetchType.EAGER)  
  36.     private AddressInfo addressInfo;  
  37.   
  38.     public AddressInfo getAddressInfo() {  
  39.         return addressInfo;  
  40.     }  
  41.   
  42.     public void setAddressInfoUserInfo(AddressInfo addressInfo) {  
  43.         this.addressInfo = addressInfo;  
  44.         this.addressInfo.setUserInfo(this);  
  45.     }  
  46.       
  47.     public void setAddressInfo(AddressInfo addressInfo) {  
  48.         this.addressInfo = addressInfo;  
  49.     }  
  50.   
  51.     public Integer getId() {  
  52.         return id;  
  53.     }  
  54.   
  55.     public void setId(Integer id) {  
  56.         this.id = id;  
  57.     }  
  58.   
  59.     public String getName() {  
  60.         return name;  
  61.     }  
  62.   
  63.     public void setName(String name) {  
  64.         this.name = name;  
  65.     }  
  66.       
  67. }  
 
0 0
原创粉丝点击