繁体   English   中英

JPA @OneToMany集合为空

[英]JPA @OneToMany collection is null

我有这两个实体许可证

@Entity
@Table(name = "PERMITS")
public class Permit extends AbstractEntity<Long> {
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name="USR_ID")
    private User user;

用户

@Entity
@Table(name = "USERS")
public class User extends AbstractEntity<Long> {
    @OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
    @OrderBy("role ASC")
    private List<Permit> permits;

    public List<Permit> getPermits() {
        return permits;
    }

    public void setPermits(List<Permit> permits) {
        this.permits = permits;
    }

    // getters, setters etc ...

当我加载它们

entityManager.createQuery("SELECT u FROM User u JOIN FETCH u.permits")

或使用任何其他方法,permits属性始终为null。 我会理解它是否是一些PersistentBag,但它为null,并且当我为其分配新的ArrayList时,它不会被覆盖,因此休眠似乎对该属性不起作用。 从另一面(从许可证)来看,它工作正常。 当我做

entityManager.createQuery("SELECT p FROM Permit p")

我看到所有已获取用户的许可。 我的地图出了什么问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM