JPA OneToOne 关系返回 null
JPA OneToOne relationships returning null
我有这个class
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 ");
我想知道如果关系中不存在酒店但文件存在,是否可以 return 一个空的酒店对象而不是 null
由于您使用的是 JPA,因此可以使用存储库。 JPA可以自动return一个类型Optional<>
。通过 Optional.isPresent()
您可以检查查询是否 return 编辑了一些内容。
存储库可能如下所示:
public interface FileRepository extends JpaRepository<File, Long> {
Optional<File> findById(Long id);
}
我有这个class
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 ");
我想知道如果关系中不存在酒店但文件存在,是否可以 return 一个空的酒店对象而不是 null
由于您使用的是 JPA,因此可以使用存储库。 JPA可以自动return一个类型Optional<>
。通过 Optional.isPresent()
您可以检查查询是否 return 编辑了一些内容。
存储库可能如下所示:
public interface FileRepository extends JpaRepository<File, Long> {
Optional<File> findById(Long id);
}