java beans:持久字段和持久属性之间的区别?

时间:2009-11-13 12:56:34

标签: java java-ee persistence orm javabeans

我的印象是,如果我们使用持久字段,则不需要getter方法,因为实体管理器直接引用实例变量。但是,当我从实体中删除getter和setter方法以具有持久字段时,未从数据库中检索相应实例变量的值!

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

3 个答案:

答案 0 :(得分:3)

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

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

你所说的应该是关于休眠的。

A link about it

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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