Java Beans:持久字段和持久属性之间的区别是什么?

3

我有这样的印象,如果我们使用持久化字段,由于实体管理器直接引用实例变量,因此不需要getter方法。然而,当我从实体中删除getter和setter方法以拥有持久化字段时,相应实例变量的值未从数据库中检索出来!

这是否意味着即使我们有持久化字段,也必须拥有getter和setter方法?


1
如果有回答解决了你的问题,你应该给它点赞并选择最佳答案。 - Diego Dias
3个回答

3

如果实体类使用持久性,Persistence在运行时直接访问实体类实例变量。

而对于持久性属性,每个属性都有一个getter和setter方法。

你说的应该适用于Hibernate。

这是一个相关链接


0
你没有提到你使用的JPA实现是什么。Hibernate肯定允许你直接访问字段。然而,这不是默认设置,所以你必须在映射文件中指定这种行为,使用access=field。(使用基于注释的配置,我想你只需要直接注释字段即可...)

0
那是什么提供者?我期望它能够工作。无论如何,如果您的提供者需要,只需创建受保护的getter和setter方法作为解决方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接