为什么我们需要在实体中声明 NOT 空构造函数?

2024-03-13

我知道实体中必须有一个不带参数的构造函数。但最近,我也看到了带参数的构造函数。我不明白为什么需要它以及它是如何工作的。


对于休眠实体,您应该至少提供一个不带参数的默认构造函数。如果您的实体有很多字段,并且只有几个字段,您可以创建带有强制参数的构造函数/构造函数,但默认构造函数(不带参数)应该在实体中。

作为实体,它是一个普通的类,您不仅将它用于休眠映射,还用于其他组件。

您还可以添加静态工厂方法来轻松创建类。

例如 :

@Entity
class User{
//mandatory fields
private Long id;
private String userName;

//not mandatory fields:
private Date registrationDate;
private String nickName;

   public User(){//it's default constructor for hibernate entity creation 
   }

   public User( Long id ,String userName){ // you can create entity whenever when you want to create entity
....
   }
}

with User( Long id ,String userName) - 您声明是否需要 User 实例 您应该使用必填字段创建它。

如果您有 User() 构造函数,则很难理解哪些参数是必需的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我们需要在实体中声明 NOT 空构造函数? 的相关文章

随机推荐