hibernate 一对多及联 插入 遇到困难

来源:互联网 发布:信鸽推送php demo 编辑:程序博客网 时间:2024/04/29 18:18

一对多 关系 考虑 一个One类 一个Many 类, One类中有一个set 用来存放与之关联的 many 对象,many中有一个 与之关联的one类的 引用, 两个类的 hbm 配置文件如下:
One.hbm.xml:
<hibernate-mapping>
 <class name = "One" table = "ONE">
  <id name = "oneId" type = "string">
   <column name = "ONEID" sql-type = "varchar(10)" not-null = "true"></column>
   <generator class = "assigned"></generator>
  </id>
  
  <set name = "manys" table = "MANY" inverse = "true" cascade= "all">
   <key column = "FONEID"></key>
   <one-to-many class = "Many"></one-to-many>
  </set>
 </class>
</hibernate-mapping>

Many.hbm.xml:
<hibernate-mapping>
 <class name = "Many" table = "MANY">
  <id name = "manyId" type = "string">
   <column name = "MANYID" sql-type = "varchar(10)" not-null="true"></column>
   <generator class = "assigned"></generator>
  </id>
  
  <many-to-one name = "one" class="One" cascade = "all">
   <column name = "FONEID" not-null = "false"></column>
  </many-to-one>
  </class>
</hibernate-mapping>

Test.java:

      One one = new One();
        one.setOneId("one");
       
        Many many1 = new Many();
        many1.setManyId("m1");
        many1.setOne(one);
       
        Many many2 = new Many();
        many2.setManyId("m2");
        many2.setOne(one);
                
        session.save(one);

        tx.commit();

结果及联插入没有实现,只存了one对象

原创粉丝点击