hibernate 注解一对多问题

通过一方删除多方时,怎么不产生update语句一方实体@OneToMany(fetch=FetchType.EAGER)@JoinColumn(name="tours_i... 通过一方删除多方时,怎么不产生update语句 一方实体@OneToMany(fetch=FetchType.EAGER) @JoinColumn(name="tours_id")
@Cascade(value={CascadeType.SAVE_UPDATE,CascadeType.DELETE}) @Fetch(FetchMode.SUBSELECT)
public ListgetStrokeList() {
return strokeList;
}
public void setStrokeList(ListstrokeList) {
this.strokeList = strokeList;
}
多方实体
@ManyToOne(targetEntity=ToursEntity.class) @JoinColumn(name="tours_id",updatable=false,insertable=false)
public ToursEntity getTours() { return tours; }
public void setTours(ToursEntity tours) { this.tours = tours; }
update一方时 在多方表里会出现tours_id=null的很多条数据,也就是说在update一方时先把多方的tours_id修改成null然后又插入新的多方的数据,我想是直接删除多方数据然后再插入新的多方数据。
展开
 我来答
stefwujj
2013-10-01 · TA获得超过417个赞
知道小有建树答主
回答量:141
采纳率:100%
帮助的人:208万
展开全部
@OneToMany(fetch=FetchType.EAGER,orphanRemoval=true)
就可以了,但是这个是jpa2里面的标签才提供了。你hibernate3.5以上的版本才能使用。
追问
能给我发jar包吗?我下了几个都没有注解的core包,怎么都找不到可用的jar包,多谢了!!!!!除了增加版本还有其他的方法吗?
追答
你直接去官网下载hibernate3.6就可以了,注解包在lib/jpa/里面。
如果你的版本比较低的话,你就只有自己用HQL删了,
DELETE FROM Many WHERE many.one = ?先把和one方关联的many方删了,再删one方吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式