The NoteBook of EricKong

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

          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);
              }
          }

           
          則相應的描述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 節點

          name: 類名

          table: 類對應表名,默認為類名稱

          dynamic-update: 生成更新字段時,只包含發生變動的字段,默認為false。

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

          Proxy: 代理類,默認為空

          discriminator-value: 子類辨別標識用于多態支持

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

          2.id節點

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



          3.property 節點

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





          Event.hbm.xml
          主站蜘蛛池模板: 田林县| 固镇县| 宣城市| 杭锦旗| 安乡县| 太湖县| 丹阳市| 红安县| 南京市| 营口市| 年辖:市辖区| 连南| 邛崃市| 中西区| 固阳县| 建德市| 中卫市| 柞水县| 承德县| 本溪市| 贵溪市| 凤冈县| 南溪县| 临泽县| 宁阳县| 玉溪市| 治县。| 綦江县| 巴南区| 满洲里市| 长治县| 玉溪市| 商城县| 茶陵县| 玉屏| 佛教| 随州市| 潞城市| 郓城县| 东至县| 冷水江市|