在JPA 2.0中,注释字段和方法(通常是吸气剂)之间的区别是什么?

带字段注释的示例

@Entity
public class MainEntity {

    @Id
    private Long id

    @OneToMany
    private RelatedEntity relatedEntity

    //getters and setters and possible other methods
    ...

}


方法注释示例

@Entity
public class MainEntity {

    @Id
    private Long id;

    private RelatedEntity relatedEntity

    //getters and setters and possible other methods
    @OneToMany
    public RelatedEntity getRelatedEntity(){
           return relatedEntity
    }

    //other methods etc
    ...

 }

最佳答案

使用JPA,您可以使用这两种方法来映射实体类中表的列;字段/方法访问从架构生成的角度或翻译查询方面都不会改变任何内容。一般来说,字段注释更干净(Spring鼓励使用框架),方法注释可以为您提供更大的灵活性(例如从抽象实体类继承)。

请注意,在第二个示例中有一个错误:

@Entity
public class MainEntity {

    private Long id;

    private RelatedEntity relatedEntity

    //getters and setters and possible other methods
    @Id
    public Long getId() {
        return id;
    }

    @OneToMany
    public RelatedEntity getRelatedEntity(){
           return relatedEntity
    }

    //other methods etc
    ...
 }

10-08 18:38