The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks
          假設(shè)有一個(gè)實(shí)體類,用于存放用戶信息,其定義如下:

          package events;
          import java.util.*;
          public class Person {
              private Long id;
              private int age;
              private String firstname;
              private String lastname;
              public Person() {}

              public Long getId() {
                  return id;
              }
              public void setId(Long id) {
                  this.id = id;
              }
              public int getAge() {
                  return age;
              }
              public void setAge(int age) {
                  this.age = age;
              }
              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;
              }

              private Set emailAddresses = new HashSet();
              public Set getEmailAddresses() {
                  return emailAddresses;
              }
              public void setEmailAddresses(Set emailAddresses) {
                  this.emailAddresses = emailAddresses;
              }

              private Set events = new HashSet();
              // Defensive, convenience methods
              protected Set getEvents() {
                  return events;
              }
              protected void setEvents(Set events) {
                  this.events = events;
              }
              public void addToEvent(Event event) {
                  this.getEvents().add(event);
                  event.getParticipants().add(this);
              }
              public void removeFromEvent(Event event) {
                  this.getEvents().remove(event);
                  event.getParticipants().remove(this);
              }
          }

           
          則相應(yīng)的描述POJO--->Person.hbm.xml中的配置信息如下:

          <?xml version="1.0"?>
          <!DOCTYPE hibernate-mapping PUBLIC
                  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                  " <hibernate-mapping>
              <class name="events.Person" table="PERSON">
                  <id name="id" column="PERSON_ID">
                      <generator class="identity" />
                  </id>
                  <property name="age" />
                  <property name="firstname" />
                  <property name="lastname" />
                  <set name="events" table="PERSON_EVENT">
                      <key column="PERSON_ID" />
                      <many-to-many column="EVENT_ID" class="events.Event" />
                  </set>
                  <set name="emailAddresses" table="PERSON_EMAIL_ADDR">
                      <key column="PERSON_ID" />
                      <element type="string" column="EMAIL_ADDR" />
                  </set>
              </class>
          </hibernate-mapping>


          說明:
          1.class 節(jié)點(diǎn)

          name: 類名

          table: 類對(duì)應(yīng)表名,默認(rèn)為類名稱

          dynamic-update: 生成更新字段時(shí),只包含發(fā)生變動(dòng)的字段,默認(rèn)為false。

          dynamic-insert: 生成insert語句時(shí)僅包含非null字段

          Proxy: 代理類,默認(rèn)為空

          discriminator-value: 子類辨別標(biāo)識(shí)用于多態(tài)支持

          where: 通過限定條件查詢結(jié)果集。如:查詢有籍在校學(xué)生的信息可以使用"where studentstatus='0'"

          2.id節(jié)點(diǎn)

          1.column               字段名稱
          2.type                 字段類型
          3.length               字段長度
          4.unsaved-value        用于判斷對(duì)象值是否已經(jīng)保存
          5.generator-class      主鍵產(chǎn)生方式
                                 assigned
                                 hilo
                                 seqhilo
                                 increment
                                 identity
                                 sequence
                                 native
                                 uuid.hex
                                 uuid.string
                                 foreign



          3.property 節(jié)點(diǎn)

          1.column               數(shù)據(jù)庫表字段名稱
          2.type                 類型
          3.length               長度
          4.not-null             字段是否允許為空
          5.unique               字段是否允許唯一(是否允許重復(fù)值)
          6.insert               insert操作時(shí),是否允許包含本字段數(shù)值
          7.update               update操作時(shí),是否包含本字段數(shù)據(jù)





          Event.hbm.xml
          主站蜘蛛池模板: 合山市| 星子县| 瓮安县| 深州市| 栾城县| 鹤岗市| 河间市| 雷州市| 含山县| 桃源县| 东乌| 东明县| 通道| 东丰县| 无棣县| 宁远县| 和田市| 油尖旺区| 江都市| 东至县| 临沭县| 武宣县| 惠东县| 远安县| 舟山市| 阜阳市| 定州市| 彭阳县| 叙永县| 泗阳县| 黔东| 蓬莱市| 东乌珠穆沁旗| 丰城市| 乐东| 东台市| 沐川县| 华亭县| 嘉禾县| 日土县| 开鲁县|