的触发器,同样的信息直接插到t2表就可以了啊。
一定要用hibernate的话,1
可以用
spring或者apache的BeanUtil.propertysCopy方法,把A的所有属性copy到b,然后把保存a后拿到的a的id设置进去就
完成b的赋值了,直接save
2
a继承自B,这样可以直接把a转换为b,save就可以了。
假设
A类对应表T1
,b对应t2
因为save的时候会保存d01和i01两个对象,并不是象你所想象的那样i01会自动判断有了就不插入了。你的思路还是停留在sql上并没有理解好hib的oo特性。应该这样:HibSessionFactory.beginTran()
i01 = XXX.get()//得到学院对象,而不是自行创建
i01.getList().add(d01)//加入的方向与你的相反
dao.save(i01)
HibSessionFactory.endTran()
顺便说下这个错误发生在数据库级别,并不是hibernate级别。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)