比如如下代码:
1. # /**
2. # * 用户信息
3. # */
4. # @OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY)
5. # @JoinColumn(name = "comId")
6. # private Set<DUser> users = new HashSet<DUser>();
<!-- list -->
1. # /**
2. # * 用户信息
3. # */
4. # @OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY)
5. # @JoinColumn(name = "comId")
6. # private List<DUser> users = new ArrayList<DUser>();
解释:
首先,你要清楚List和Set的区别:List是有序和可重复;Set是无序,但是不能重复.
其次,在一对多关联中.想象一下这种情况:你要更新从表记录;
从List中得到从表的一个对象引用,然后你对这样对象修改后,又放回List,你的List中就包括两个从表对象的引用.你在保存时,这两个引用,你觉得会保存两次还是一次?
而如果是Set,你得到从表对象的引用,之后修改从表对象的内容,你再往Set里面放,Set里面因为已经有这个从表对象的引用,就不会再给里面加.这样,你的Set里面还是只有一个从表对象的引用.这样你保存,这个从表对象只保存一次
点击查看更多内容
2人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦