Java JPA:@ManyToOne没有';t自动更新引用

Java JPA:@ManyToOne没有';t自动更新引用,java,unit-testing,jpa,playframework,Java,Unit Testing,Jpa,Playframework,我有两个实体OrgType和OrgField: @Entity(name = "T_ORG_FIELD") public class OrgField extends Model { @MinSize(value = 2) @Column(nullable = false) public String name; @ManyToOne public OrgType orgType; ... } @Entity(name = "T_ORG_TYP

我有两个实体
OrgType
OrgField

@Entity(name = "T_ORG_FIELD")
public class OrgField extends Model {
    @MinSize(value = 2)
    @Column(nullable = false)
    public String name;

    @ManyToOne
    public OrgType orgType;
    ...
}

@Entity(name = "T_ORG_TYPE")
public class OrgType extends Model {
    @Column(nullable = false, unique = true)
    public String name;

    @OneToMany(mappedBy = "orgType")
    public List<OrgField> orgFields = new ArrayList<OrgField>();
    ...
}
我创建了一个新的OrgField并更新了它对orgType的引用,并希望能自动填充
orgType。orgFields
,但它没有


有什么帮助吗?

请尝试填写获取属性,如下所示:

@ManyToOne(fetch=FetchType.EAGER)

@OneToMany(mappedBy="orgType", fetch = FetchType.EAGER)
FecthType.EAGER将根据您的需要获取它。如果愿意,可以为每个类定义不同的值。相反,您可以使用FetchType.LAZY,明确设置此属性而不是保留默认值以供使用是一种很好的做法


此外,您还可以将属性cascade与CascadeType.ALL一起使用以自动保存,等等,或者检查CascadeType enum以查看其他值。明确定义级联
属性的值也是一种很好的做法。

您可以尝试em.find(orgType.id).orgFields.size(),或者指定方法“.save”的作用。不,它也不起作用。
@ManyToOne(fetch=FetchType.EAGER)

@OneToMany(mappedBy="orgType", fetch = FetchType.EAGER)