在save一个新的Reply时,必须保证Reply的topic属性有值,例如
Reply reply = new Reply();
reply.setid(1);
reply.setTitle("回复:xx");
reply.setContent("楼主SB");
//关键在下面这一句
reply.setTopic(topic);//此句确保reply关联到相应的topic对象
其中topic是一个Topic对象,里面的id必须是数据库已有的id
楼上的cascade='save-update'
是级联save
当配置了cascade属性后
如果reply所关联的topic属性在数据库不存在相应的ID
那么hibernate会级联将topic对象持久化到数据库中
楼主的问题应该不是楼上兄弟的回答
因为即便不配置cascade,只要reply所对应的topic已是持久化或游离对象
hibernate也会为在数据库中为reply的topicid字段添加值
只需要reply.setTopic();就行了
hibernate 一对多 添加问题
最新推荐文章于 2019-08-16 23:24:40 发布