有人可以帮我吗...
我用一个私有的无参数构造函数创建了一个pojo(与我们需要使用受保护或公共构造函数的JPA建议相反) 并且我能够检索,更新,删除,插入数据。
为什么可能这样?
pipe
答案 0 :(得分:1)
根据Hibernate documentation(强调我):
实体类应具有无参数构造函数。 Hibernate和JPA都需要这样做。
JPA要求将此构造函数定义为public或protected。在大多数情况下,只要系统SecurityManager允许覆盖可见性设置,Hibernate就不会在意构造函数的可见性。就是说,如果您希望利用运行时代理生成,则构造函数至少应具有程序包可见性。
答案 1 :(得分:0)
如果Hibernate找到具有正确参数的构造函数,无论可见性如何,它将使用反射将其构造函数设置为可访问的。