Hibernate,如何按需分离和/或获取数据?

时间:2014-07-17 18:21:15

标签: java hibernate jpa

我有一个像这样的实体设置:

@Entity
@Table(name = "APP", uniqueConstraints = @UniqueConstraint(columnNames = "APP_KEY"))
public class Application implements java.io.Serializable {
    ...
    @OneToMany(fetch = FetchType.LAZY)
    @JoinColumn(name = "application_Id", referencedColumnName = "application_Id")
    private Set<Document> documents = new HashSet<Document>(0);
}

现在,在某些情况下,我不希望返回文档列表。但是,当我序列化这个对象时,将调用“getDocuments()”方法。

此时不会有活动的交易,所以我不想要其中一个“无会话”错误。我只是想忽略它并让getDocuments()方法返回空,不抛出异常而不是尝试获取更多数据。

2 个答案:

答案 0 :(得分:0)

看看FetchGroup功能参考:

看一下jpql fetch join的...

Select e from Employee e join fetch e.phones p where p.areaCode = '613'

这里有一个类似的问题:How to properly express JPQL "join fetch" with "where" clause as JPA 2 CriteriaQuery?

答案 1 :(得分:0)

我不知道您的序列化设置,但是: