zoukankan      html  css  js  c++  java
  • Hibernate的组件(Component)映射

      在学习Hibernate框架时碰到了许多实际的问题,比如一个Name是由FirstName和LastName组成,或者说一个Address是有Province,City,County和The detailed address组成,那么这么复杂的属性作为实际设计中是不应该出现在一个类里,那么组件映射就出现了

      下面展示组件映射的实例,User对象中的Name属性

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="com.dao">
    
        <class name="User" table="User">
            <id name="id">
                <generator class="native" />
            </id>
     
            <component name="name">
                <property name="firstname" column="first_name"/>
                <property name="lastname" column="last_name" />
            </component>
            
            <property name="birthday" />
    
        </class>
    
    </hibernate-mapping>

    User.java代码

     1 package com.dao;
     2 
     3 import java.util.Date;
     4 
     5 public class User {
     6     private int id;
     7     private Name name;
     8     private Date birthday;
     9 
    10     public void setName(Name name) {
    11         this.name = name;
    12     }
    13 
    14     public int getId() {
    15         return id;
    16     }
    17 
    18     public void setId(int id) {
    19         this.id = id;
    20     }
    21 
    22     public Name getName() {
    23         return name;
    24     }
    25 
    26     public Date getBirthday() {
    27         return birthday;
    28     }
    29 
    30     public void setBirthday(Date birthday) {
    31         this.birthday = birthday;
    32     }
    33 }

    Name的代码

    package com.dao;
    
    public class Name {
        private String firstname;
        private String lastname;
        public String getFirstname() {
            return firstname;
        }
        public void setFirstname(String firstname) {
            this.firstname = firstname;
        }
        public String getLastname() {
            return lastname;
        }
        public void setLastname(String lastname) {
            this.lastname = lastname;
        }
    }
  • 相关阅读:
    静态变量和非静态实例变量的区别
    引用iScroll.js实现上拉和下拖刷新
    微信公众平台开发(一) 配置接口
    Javascript中event.srcElement和event.target的区别
    js执行环境的深入理解
    jQuery on()方法
    JAVA基本类库介绍
    Java程序员学习之路
    Java以基础类库
    jQuery插件的开发之$.extend(),与$.fn.extend()
  • 原文地址:https://www.cnblogs.com/qisong178878915/p/4272387.html
Copyright © 2011-2022 走看看