持久化类中多参数构造函数的任何原因?

时间:2011-12-22 23:36:04

标签: java hibernate spring reflection

我正在开发一个使用Spring和Hibernate继承的Java Web应用程序。此应用程序包含使用hbm2java自动生成的持久性类。这些类中包含具有多个参数的构造函数(以及典型的默认构造函数)。这些非默认构造函数不会被任何其他方法直接访问。调用这些类也没有任何明确的spring定义,因此它似乎是死代码......

现在我知道这个问题有点模糊,但Hibernate通常会通过反射调用这些构造函数吗?我知道它使用Class<T>.getInstance()来调用默认构造函数来创建对象的新实例,但那是关于它的......

2 个答案:

答案 0 :(得分:2)

不,那些不存在因为hibernate会使用它们。

当您实例化和初始化实体类时,这种类型的构造函数通常很有用。而不是使用默认构造函数并调用多个setter,使用带有多个参数的构造函数更容易。

答案 1 :(得分:0)

看看你的数据库。通常,hibernate为数据库中的所有列创建构造函数,然后为所有必需字段创建另一个构造函数。