Hibernate4组件映射

Java代码   收藏代码
  1. public class Customer  {  
  2.   
  3.     private Integer id;  
  4.     private String name;  
  5.   
  6.     private Address homeAddress;  //家庭地址  
  7.     private Address comAddress;   //公司地址  
  8.   
  9.     // getter and setter  
  10. }  

 

Java代码   收藏代码
  1. public class Address  {  
  2.   
  3.     private String province;  
  4.     private String city;  
  5.     private String street;  
  6.     private String zipcode;  
  7.        //private Customer customer;  
  8.   
  9.     // getter and setter  
  10. }  

 

Xml代码   收藏代码
  1. <hibernate-mapping package="mypack">  
  2.     <class name="Customer" table="tbl_customer">  
  3.         <id name="id">  
  4.             <generator class="increment" />  
  5.         </id>  
  6.         <property name="name" />  
  7.         <component name="homeAddress" class="Address">  
  8.             <!-- <parent name="customer" /> -->  
  9.             <property name="province" column="home_province" />  
  10.             <property name="city" column="home_city" />  
  11.             <property name="street" column="home_street" />  
  12.             <property name="zipcode" column="home_zipcode" />  
  13.         </component>  
  14.         <component name="comAddress" class="Address">  
  15.             <!-- <parent name="customer" /> -->  
  16.             <property name="province" column="com_province" />  
  17.             <property name="city" column="com_city" />  
  18.             <property name="street" column="com_street" />  
  19.             <property name="zipcode" column="com_zipcode" />  
  20.         </component>  
  21.     </class>  
  22. </hibernate-mapping>  

 

Java代码   收藏代码
  1. @Entity  
  2. @Table(name = "tbl_customer")  
  3. public class Customer {  
  4.   
  5.     @Id  
  6.     @GenericGenerator(name = "myIncrement", strategy = "increment")  
  7.     @GeneratedValue(generator = "myIncrement")  
  8.     private Integer id;  
  9.   
  10.     @Column(name = "name")  
  11.     private String name;  
  12.   
  13.     @Embedded  
  14.     @AttributeOverrides({ @AttributeOverride(name = "province", column = @Column(name = "home_province")),  
  15.             @AttributeOverride(name = "city", column = @Column(name = "home_city")),  
  16.             @AttributeOverride(name = "street", column = @Column(name = "home_street")),  
  17.             @AttributeOverride(name = "zipcode", column = @Column(name = "home_zipcode")) })  
  18.     private Address homeAddress;  
  19.   
  20.     @Embedded  
  21.     @AttributeOverrides({ @AttributeOverride(name = "province", column = @Column(name = "com_province")),  
  22.             @AttributeOverride(name = "city", column = @Column(name = "com_city")),  
  23.             @AttributeOverride(name = "street", column = @Column(name = "com_street")),  
  24.             @AttributeOverride(name = "zipcode", column = @Column(name = "com_zipcode")) })  
  25.     private Address comAddress;  
  26.   
  27.     // getter and setter  
  28. }  

 

Java代码   收藏代码
  1. @Embeddable  
  2. public class Address implements Serializable {  
  3.   
  4.     private String province;  
  5.     private String city;  
  6.     private String street;  
  7.     private String zipcode;  
  8.   
  9.     //@Transient  
  10.     //private Customer customer;  
  11.   
  12.     // getter and setter  
  13. }  

 

Java代码   收藏代码
  1. Customer customer = new Customer();  
  2.             Address homeAddress = new Address("province1""city1""street1""100001");  
  3.             Address comAddress = new Address("province2""city2""street2""200002");  
  4.             customer.setName("Tom");  
  5.             customer.setHomeAddress(homeAddress);  
  6.             customer.setComAddress(comAddress);  
  7.   
  8.             session.save(customer);  

 

Sql代码   收藏代码
  1. Hibernate:   
  2.     create table tbl_customer (  
  3.         id integer not null,  
  4.         name varchar(255),  
  5.         home_province varchar(255),  
  6.         home_city varchar(255),  
  7.         home_street varchar(255),  
  8.         home_zipcode varchar(255),  
  9.         com_province varchar(255),  
  10.         com_city varchar(255),  
  11.         com_street varchar(255),  
  12.         com_zipcode varchar(255),  
  13.         primary key (id)  
  14.     ) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值