对于您的第一个问题:之所以发生,是因为当Hibernate尝试创建bean时,它是通过反射来完成的。它通过调用no-
arg构造函数,然后使用setter方法设置属性来创建对象。您不能使用没有no-arg构造函数的bean。
对于第二个问题:如果其他东西为您生成了没有no-
arg构造函数的类,那么实际上唯一的选择(如果您不能修改该类)是围绕它创建一个包装器,或者是一个子类有一个无参数的构造函数。如果您不能直接修改该类,那么我看不到任何其他方法。但是,只要您拥有的类对方法具有足够的可见性(即,没有不可以使用的私有方法),子类就应该很好。



