Liny_@NotePad

沉迷ACG中

JPA属性访问方式

YOYO posted @ 2012年6月11日 14:14 in 【Java EE】 with tags JPA , 2172 阅读

在model中封装了一个对象,在一些属性的setter中加入了对该对象的访问,结果发现全无效果。

百度了下,原来是因为JPA有两种属性访问方式:

  • 域访问field access):无需设置getter/setter,直接在字段上设定@Column等值,在运行时注入值。
  • 属性访问property access):必须设定getter/setter,在getter上设定@Column等值,通过getter/setter注入值。

原本之前是用直接配置在字段名字上的field access方式,所以没有调用到getter/setter,

而项目使用的是1.0版本的JPA,不支持在一个entity中混用两种方式,因此我把这个entity的属性全部改为了property access。

关于域访问方式与属性访问方式的比较,可以阅读此文:[译文]JPA的实施模式:域访问和属性访问之间的比较


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter