请教 Hibernate 添加记录的问题关于外键的问题,急!!!

alison007 2006-11-06 11:49:46
两个表 T1,T2
表1有 T1_ID,NAME 字段
表2有 T2_ID,NAME,T1_ID (T1外键关联)

在表2配置 many-to-one 关联T1

请问知道了 T1_ID,怎么添加 表2的记录
主要是不知道 T1_ID 怎么插入数据库
请高手指教!
...全文
202 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
alison007 2006-11-07
  • 打赏
  • 举报
回复
搞定了,谢谢
alison007 2006-11-07
  • 打赏
  • 举报
回复
还是有点糊涂
我T1已经有数据了,现在要添加T2的一条数据,怎么关联到T1,然后保存T2的记录?
tcmis 2006-11-07
  • 打赏
  • 举报
回复
有几个注意的就是:
第一:如果你的t2表的hbm.xml映射文件里面配置了cascade=all,那么你保存的时候直接调用dao的save(需要自己去写的)方法去保存,从表的记录是可以直接保存的.
例如:
private IT1DAO t1DAO;

T1 t1 = new T1();
t1.setName("test");
...
T2 t2 = new T2();
t2.setAdress("....");
//设置相互关联
t2.setT1(t1);
t1.setT2(t2);
//这里调用t1表的dao直接保存就可以了(也就是主表)
//这样的话t2表的数据也保存了。
t1DAO.save(t1);
第二:
如果没有设置cascade属性,那么你在保存的时候分别调用各自的save方法就可以了
private IT1DAO t1DAO;
private IT2DAO t2DAO;
...
//其它的一样
...

t1DAO.save(t1);
t2DAO.save(t2);

第三、关于你说的T1_ID的值怎么插入数据,你不用去关心,hibernate直接给你搞定了。这个是看你在hbm.xml中是怎么配置的。
Bishop 2006-11-07
  • 打赏
  • 举报
回复
设计恰当的类和映射关系后,T1_ID会被自动保存的。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧