Hibernate关联关系中能否忽略不存在的关联属性而不报错?

我有一个属性里包含了多对一关系的用户实体:

@Entity

public class User {

@ManyToOne

@JoinColumn(name="platform_id")

private Platform platform;

}

在上述关联中,查询User时如果Platform存在,数据可以正常返回。

但我现在数据库中有一条用户信息,他的platform_id是一个不存在的值,比如1,在platform表中没有id为1的数据。

这个时候 Hibernate 数据库给我抛了一个错 Unable to find com.demo.modules.system.entity.Platform with id 1

我的用户表可能有一些测试数据,其平台ID是有可能不存在的,但我希望在查询用户列表数据的时候,如果platform_id不存在则返回空的Platform对象而不是报错,请问这能做到吗?


回答:

尝试增加一个注解 : @NotFound(action = NotFoundAction.IGNORE)

官方文档

When dealing with associations which are not enforced by a physical foreign-key, it is possible for a non-null foreign-key value to point to a non-existent value on the associated entity’s table.

以上是 Hibernate关联关系中能否忽略不存在的关联属性而不报错? 的全部内容, 来源链接: utcz.com/p/944761.html

回到顶部