java - 在实体的成员变量或 get 方法处设置 JPA 注释?

标签 java hibernate jpa

我对 JPA 和 Hibernate 主题没有什么丰富的经验。对我来说,不清楚何时需要在实体类的成员变量中编写 JPA 注释以及何时可以使用注释的 get 方法。注释是否不应在实体的 set 方法中设置?这是一个小例子:

public class MessageEntity implements Persistable{

    @ManyToOne
    StatusEntity state;

    @Column(nullable = false)
    private Boolean freitext = false;

    private Collection<Variables> variables;

    @OneToMany(cascade = { CascadeType.MERGE, CascadeType.PERSIST }, targetEntity = Variables.class)
    public Collection<Variables> getVariables() {
       return this.variables;
    }
}

我也不清楚何时必须使用 targetEntity 属性。有人可以帮我解释一下吗?

麦克

最佳答案

注释可以位于属性或getter上,但不能位于setter上。

在一对多关系中,如果指定 Set(collection) 时未指定泛型,则需要 targetEntity。如果使用 Set,则不需要 targetEntity。

引用号:Java api

关于java - 在实体的成员变量或 get 方法处设置 JPA 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22258151/

相关文章:

java - 如何从资源文件夹java调用文件

java - hibernate + jsf + spring 的缓存提供程序

java - 在 Hibernate 中使用多个表获取计数?

Java JPA 库

Java - 将分钟和秒更改为时间格式? (毫米:ss)

java - 如何从 getServletContext().getContextPath() 返回域名

hibernate - 如何仅删除前 100 行?

java - 如何在 Hibernate 中保存时增加版本字段,无论是否脏?

java - 如何使用包含生成值的复合主键创建实体

java - Hibernate - 两个类之间的多个多对多关联