component映射

如果多个类中有相同的属性字段,那么把相同的属性字段提取出公共的连接类。

该连接类为值类而不是实体类。

在hibernate中,component是实体对象的逻辑组成部分,component与实体对象的本质区别是它没有oid采用component的好处,它实现了对象层次的细粒度划分,层次分明,利于复用。

用户类:

package com.jzq.hibernate;

public class User {

 private int id;
 private String email;
 private Contect contect;
 
 public User(){}
 public Contect getContect() {
  return contect;
 }
 public void setContect(Contect contect) {
  this.contect = contect;
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getEmail() {
  return email;
 }
 public void setEmail(String email) {
  this.email = email;
 }
 
}

公共的组件类:

package com.jzq.hibernate;

public class Contect {

 private String zipCode;
    private String address;
 
 public Contect(){}
 public String getZipCode() {
  return zipCode;
 }

 public void setZipCode(String zipCode) {
  this.zipCode = zipCode;
 }

 public String getAddress() {
  return address;
 }

 public void setAddress(String address) {
  this.address = address;
 }
 
}

组件配置文件:

<hibernate-mapping>
   <class name="Animal" package="com.jzq.hibernate">
      <id name="id">
          <generator class="native"/>
      </id>
      <property name="name"/>
      <!-- 把类中公共属性当做组件引入  -->
      <component name="contact">
          <property name="contactTel"/>
          <property name="email"/>
          <property name="zipCode"/>
          <property name="address"/>
      </component>
   </class>
</hibernate-mapping>

转载于:https://www.cnblogs.com/jinzhengquan/archive/2011/02/19/1958818.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值