JPA OneToOne关系返回null

问题描述 投票:0回答:1

我有这门课

public class Hotel implements Serializable {


    @OneToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "FILE_ID")
    private File file;

..
}

和这个查询

Query query = em.createQuery("SELECT file.hotel FROM File file   where file.id = :id ");

我想知道如果酒店在关系中不存在但是文件存在,是否可以返回一个空的Hotel对象而不是null

java spring hibernate jpa hibernate-mapping
1个回答
0
投票

由于您使用的是JPA,因此您可以使用存储库。 JPA可以自动返回一种Optional <>类型。通过Optional.isPresent(),您可以检查查询是否返回了一些内容。

存储库可能如下所示:

public interface FileRepository extends JpaRepository<File, Long> {
    Optional<File> findById(Long id);

}
© www.soinside.com 2019 - 2024. All rights reserved.