我知道没有参数的构造函数必须在实体中。但是最近,我也看到了带参数的构造函数。我不明白,为什么可能需要它以及它是如何工作的。
对于休眠实体,您应该至少提供一个不带参数的默认构造函数。如果您的实体有很多字段,而其中只有几个字段,您可以使用强制参数创建构造函数/构造函数,但默认构造函数(没有参数)应该在实体中。
作为您的实体,它是一个普通类,您不仅将其用于休眠映射,还用于其他组件。
您也可以添加静态工厂方法来轻松创建类。
例如:
@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() 构造函数,则很难理解哪些参数是强制性的
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句