JPA OneToOne关系返回null

时间:2019-03-08 11:11:32

标签: java spring hibernate jpa hibernate-mapping

我有这堂课

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但文件存在的情况下返回空的Hotel对象而不是null。

1 个答案:

答案 0 :(得分:0)

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

存储库可能看起来像这样:

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

}