hibernate 关联关系中的属性为什么要new?

Awisper 发布于 2015/05/19 21:49
阅读 148
收藏 0

例如

public class Teacher{
    private int id;

    private String name;

    private Set<Student>=new HashSet<Student>();

    .....

}
为什么很多要
private Set<Student>=new HashSet<Student>();
直接
private Set<Student>;
不是很好吗?

加载中
0
DW_GYT
DW_GYT
这样是为了防止空指针异常吧
rayeaster
rayeaster
应该是这样
0
rayeaster
rayeaster

不需要用new初始化一对多的Set属性的。参考这个,解释得很清楚:

http://openhome.cc/Gossip/HibernateGossip/OneToMany.html

0
Awisper
Awisper

引用来自“rayeaster”的评论

不需要用new初始化一对多的Set属性的。参考这个,解释得很清楚:

http://openhome.cc/Gossip/HibernateGossip/OneToMany.html

但为什么很多成熟的项目都这么写?用hibernate从表中方向生成也会new一个hashset?
0
rayeaster
rayeaster

引用来自“rayeaster”的评论

不需要用new初始化一对多的Set属性的。参考这个,解释得很清楚:

http://openhome.cc/Gossip/HibernateGossip/OneToMany.html

引用来自“Awisper”的评论

但为什么很多成熟的项目都这么写?用hibernate从表中方向生成也会new一个hashset?

一般这么写都是为了防止get的时候返回null,比如如果数据库里这个set没有数据,那hibernate就会返回null。

如果有数据,hibernate其实也是new一个set出来,然后把数据填进去返回给你

返回顶部
顶部