Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA注释的两个不同位置_Java_Hibernate_Jpa_Persistence_Jpa 2.0 - Fatal编程技术网

Java JPA注释的两个不同位置

Java JPA注释的两个不同位置,java,hibernate,jpa,persistence,jpa-2.0,Java,Hibernate,Jpa,Persistence,Jpa 2.0,我正在研究JPA和JSF 我找到了两种放置注释的方法: 1。在实例变量上方。 public class Project implements Serializable { @ID @NotNull private Long idProject public Long getIdProject() { return this.idProject } } 2。高于getter public class Project implements S

我正在研究JPA和JSF

我找到了两种放置注释的方法:

1。在实例变量上方。

public class Project implements Serializable {
    @ID
    @NotNull
    private Long idProject
    public Long getIdProject() {
        return this.idProject
    }
}
2。高于getter

public class Project implements Serializable {
    private Long idProject
    @ID
    @NotNull
    public Long getIdProject() {
        return this.idProject}
    }

有什么区别?什么是最好的使用方法?

这个问题非常流行,而且很容易被克隆。不想再做一个克隆人:)


正如Sotirios所说,两者都受支持,但我更喜欢在变量上添加注释。getter和setter通常位于类的末尾(至少“我”认为它们属于这个位置)。如果您没有在变量处进行注释,那么您就让维护人员去搜索并确保您将其连接到“某处”。我还没有听到一个很好的理由,为什么你要把它放在setter方法上。

没有最好的使用方法。这两种方法都得到了支持,所以你可以做你想做的事情。@SotiriosDelimanolis为什么这篇文章被搁置,因为人们(包括我自己)认为你无法得到客观的答案。这太过于基于个人意见了。