我有这门课
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
由于您使用的是JPA,因此您可以使用存储库。 JPA可以自动返回一种Optional <>类型。通过Optional.isPresent(),您可以检查查询是否返回了一些内容。
存储库可能如下所示:
public interface FileRepository extends JpaRepository<File, Long> {
Optional<File> findById(Long id);
}