在产品类中,我创建了参数化构造,同时从数据库中获取数据时出现错误“没有实体的默认构造函数”,
每当我们在实体类中创建参数化构造时。是否必须创建默认构造函数?
答案 0 :(得分:1)
Hibernate需要一个无参数构造函数来使用反射创建实体的新实例。 许多框架都像这样工作,检查一下这个好问题 Why does Hibernate require no argument constructor?
来自Hibernate doc。:
所有持久化类必须具有默认构造函数(可以是 非公共的)以便Hibernate可以使用它来实例化它们 Constructor.newInstance()。建议您使用默认值 至少具有运行时代理的包可见性的构造函数 在Hibernate中生成。