说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

关于Hibernate关的问题:一对多

编辑:说三道四文库 发布时间:2018-05-22 06:27
HTML文档下载 WORD文档下载 PDF文档下载
目录需要实现这样的功能:
一对多
种类与产品

现在表与表之间的关系也做完了
种类表也可以单独的插入,现在只是在插入产品的时候出现了问题,在产品表中有一列是种类的id,我现在想在插入产品的时候得到了对应的种类插入到产品相关联的种类id列中。可是操作不行啊?

下面是我的相关文件与代码:
种类hbm:
<set name="dow" table="dow">
<key column="tid"></key>
<one-to-many class="com.model.Dow"/>
</set>

产品hbm:
<many-to-one name="top" class="com.model.Top" column="tid"
insert="false" update="false">
</many-to-one>

实现的代码:
                Session ses = HibernateSessionFactory.getSession();
Transaction tran = ses.beginTransaction();
Top to = (Top) ses.get(Top.class, new Integer(1));
Dow dow = new Dow();
dow.setName("Java's Tom");
dow.setTop(to);
ses.save(dow);
tran.commit();
这个参考一下:
种类hbm:
<set name="dow" cascade="delete" inverse="true">
<key column="tid"/>
<one-to-many class="com.model.Dow"/>
</set>

产品hbm: 
<many-to-one name="top" class="com.model.Top" 
column="tid"
cascade="none"
not-null="true" 
insert="false" 
update="false"> 
</many-to-one> 
你是要在产品表中插入种类的信息,
实现的代码: 
                Session ses = HibernateSessionFactory.getSession(); 
Transaction tran = ses.beginTransaction(); 
Top to = (Top) ses.get(Top.class, new Integer(1)); 
Dow dow = new Dow(); 
dow.setName("Java's Tom"); 
dow.setTop(to); 
ses.save(dow); 
tran.commit();
感觉这里有问题,没有相关的操作,能说的在详细一些吗?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘