下面是google搜到的
property. EJ3规范要求在需要访问的元素上进行注解声明,例如,如果访问类型为 property就要在getter方法上进行注解声 
明, 如果访问类型为 field就要在字段上进行注解声明.应该尽量避免混合使用这两种访问类型. Hibernate根据@Id 或 
@EmbeddedId的位置来判断访问类型. ----这一段中,hibernate的访问类型是什么意思?有什么区别?我也同问,注释写在field的上面与方法的上面有什么区别啊??????
似乎hibernate实战有讲,但是英文的,理解起来还是不容易...希望指点下

解决方案 »

  1.   

    1 @Id 和 @EmbededId 的区别自己去看详细的吧
    @Id 是单主键,另一个是多主键2 我一般都放在字段上声明,到目前没发现问题
    @Column(name="My_Name")
    private String name;如果按照你提到的字面理解
    一个类里面不是每个都需要被当成properry进行访问的,那些对应数据库字段,却又不能直接访问的,就放在getter上面。不过我并不是很理解,所以我全部放在声明那里。
      

  2.   

    @Id   是单主键,@EmbededId   复合主键 我一般放在方法上声明.效果是一样..
      

  3.   

    补充说明,看了一些资料,有点明白 property 和 field 的区别了1 如果是 field, 则数据会直接赋值给那个变量,不进行任何处理2 如果是property, 则数据会调用setter方法,你在那个方法里可以自己做一些内部处理,然后在给变量。比如生日,采用年月日三个字段保存这样就可以把birthday 作为property 进行访问。
    读取的时候,从年月日组合成生日,返回
    设置的时候,拆分成年月日,分别给三个子段。over!