<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    爪哇一角

    共同探討STRUTS#HIBERNATE#SPRING#EJB等技術
    posts - 3, comments - 6, trackbacks - 0, articles - 99
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Hibernate中實現one-to-many

    Posted on 2006-09-20 10:04 非洲小白臉 閱讀(379) 評論(0)  編輯  收藏 所屬分類: hibernate

    Hibernate中實現one-to-many

    近兩天來在研究Hibernate中的one-to-one和one-to-many的問題,做了很多試驗,發現實現表關系時,在hibernate-mapping中generator的class設為uuid.hex,上述的兩種關系可以實現,也就是數據庫的主鍵設為varchar(MSSQL2000),但是主鍵改成int型的標識卻彈出“ERROR SessionImpl:2379 - Could not synchronize database state with session”和“net.sf.hibernate.HibernateException: SQL insert, update or delete failed (row not found)”異常,百思不得其解。下面貼出主鍵設為uuid.hex時的實現代碼:

    Child.hbm.xml
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
    <hibernate-mapping>
    ??? <class name="test.pojo.Child" table="child">
    ??????? <id name="cid" column="cid" >
    ??????????? <generator class="uuid.hex"/>
    ??????? </id>
    ??????? <property name="cname" column="cname" />
    ??????? <many-to-one name="parent" column="pid" />
    ??? </class>
    </hibernate-mapping>

    Child.java

    package test.pojo;

    public class Child {
    ??? private String cname;
    ??? private String pid;
    ??? private Parent parent;
    ??? private String cid;
    ??? public Child() {
    ??? }

    ??? public String getCid() {
    ??????? return cid;
    ??? }

    ??? public void setCid(String cid) {
    ??????? this.cid = cid;
    ??? }

    ??? public String getCname() {
    ??????? return cname;
    ??? }

    ??? public void setCname(String cname) {
    ??????? this.cname = cname;
    ??? }

    ??? public String getPid() {
    ??????? return pid;
    ??? }

    ??? public void setPid(String pid) {
    ??????? this.pid = pid;
    ??? }

    ??? public Parent getParent() {
    ??????? return parent;
    ??? }

    ??? public void setParent(Parent parent) {
    ??????? this.parent = parent;
    ??? }
    }

    Parent.hbm.xml
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
    <hibernate-mapping>
    ??? <class name="test.pojo.Parent" table="parent" >
    ??????? <id name="pid" column="pid" type="integer">
    ??????????? <generator class="uuid.hex" />
    ??????? </id>
    ??????? <property name="pname" column="pname" />
    ??????? <set name="child" lazy="true" inverse="true" cascade="all">
    ??????????? <key column="cid" />
    ??????????? <one-to-many class="capinfo.negroup.test.pojo.Child"/>
    ??????? </set>
    ??? </class>
    </hibernate-mapping>

    Parent.java
    package test.pojo;

    import java.util.HashSet;

    public class Parent {
    ??? private String pname;
    ??? private java.util.Set child = new HashSet();
    ??? private String pid;
    ??? public Parent() {
    ??? }

    ??? public String getPid() {
    ??????? return pid;
    ??? }

    ??? public void setPid(String pid) {
    ??????? this.pid = pid;
    ??? }

    ??? public String getPname() {
    ??????? return pname;
    ??? }

    ??? public void setPname(String pname) {
    ??????? this.pname = pname;
    ??? }

    ??? public java.util.Set getChild() {
    ??????? return child;
    ??? }

    ??? public void setChild(java.util.Set child) {
    ??????? this.child = child;
    ??? }

    }

    TestHibernate.java
    package test.pojo;

    public class TestHibernate {
    ??? public TestHibernate() {
    ??? }

    ??? public static void main(String[] argv) {
    ??????? //先建立多的初始數據
    ??????? Child child = new Child();
    ??????? child.setCname("kerry");
    ??????? //再建立一的初始數據
    ??????? Parent parent = new Parent();
    ??????? parent.setPname("Kelphen");
    ??????? //將多的數據放入到一里
    ??????? parent.getChild().add(child);
    ??????? //再將一放到多里,這樣一與多互相擁有對方
    ??????? child.setParent(parent);
    ??????? try {
    ??????????? BaseDAOHibernate.saveObject(parent);
    ??????? }
    ??????? catch (DAOException daoe) {
    ??????????? daoe.printStackTrace();
    ??????? }
    ??? }
    }

    主站蜘蛛池模板: 猫咪社区免费资源在线观看 | 男人的好免费观看在线视频| 久久亚洲精品中文字幕三区| yy一级毛片免费视频| 免费大黄网站在线看| 久久久久亚洲国产AV麻豆| 精品国产免费观看久久久| 亚洲av无码一区二区三区四区| 国外成人免费高清激情视频| 亚洲欧美日韩综合俺去了| 国产精品成人四虎免费视频| 久久亚洲精品无码gv| 亚洲人AV永久一区二区三区久久| 亚洲av综合日韩| 亚洲小说区图片区另类春色| 久久久久成人片免费观看蜜芽| 久久精品国产亚洲AV香蕉| 久久午夜免费视频| 亚洲第一区二区快射影院| 国产性生交xxxxx免费| 一区二区三区视频免费| 亚洲国产成人片在线观看无码| 7x7x7x免费在线观看| 亚洲а∨天堂久久精品9966| 国产美女被遭强高潮免费网站| 免费人成动漫在线播放r18| 亚洲日韩v无码中文字幕| 久久aa毛片免费播放嗯啊| 亚洲一卡2卡4卡5卡6卡在线99 | 四虎1515hh永久久免费| 亚洲精品美女久久久久久久| 免费大片黄手机在线观看| a在线观看免费视频| 亚洲国产日韩女人aaaaaa毛片在线| 女人18毛片免费观看| 国产免费内射又粗又爽密桃视频| 亚洲视频在线不卡| 免费在线观看a级毛片| 亚洲视频在线免费播放| 免费一级毛suv好看的国产网站 | 中文字幕av无码不卡免费|