2009-11-13 171 views
2

我得到的印象是,如果我们使用持久性字段,则不需要getter方法,因为实体管理器直接引用实例变量。但是,当我从实体中删除getter和setter方法以获得持久字段时,相应实例变量的值不会从数据库中检索!java beans:持久性字段和持久性属性之间的区别?

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

+1

你应该投了你喜欢的答案,选择最佳答案,如果任何与我使用的是Oracle TopLink的问题 – 2009-11-30 13:17:10

回答

3

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

虽然在持久性属性上,每个属性都有一个getter和setter方法。

你说什么应该在冬眠。

A link about it

0

你没有提到你正在使用的JPA实现。 Hibernate肯定允许你直接访问字段。但是,它不是默认设置,因此您必须在映射文件中指定access = field的行为。 (注释为基础的配置,我想你只需要直接注释字段...)

0

这是什么提供者?我希望它能起作用。无论如何,如果你的提供者需要这个方法,只需创建受保护的getter和setter方法作为解决方法。

+0

帮你。 – abracadabra 2009-11-13 20:58:19