如果找不到实体(仅当找不到实体时 - EntityNotFound 异常),是否可以设置一些(默认)值?如果DB中有空值,则该字段必须为空。 例如,我有一个实体 First 与一个实体 Second 有关系:
class First {
...
@ManyToOne @JoinColumn(name="second", nullable=true)
@NotFound(action = NotFoundAction.IGNORE)
Second second;
...
}
如果数据库(表“First”)中的列“second”为空,则 first.second 必须为空。如果 DB(表“First”)中的列“second”为 5(second id = 5)并且表“Second”中不存在 id == 5 的行,则 firts.second 应该是某个默认值(实体) ,例如 id = 1 的实体 Second 或 new Second(params);
最佳答案
我希望您通过成对的 get/set 方法访问您的字段。只需在 getter 中创建空检查逻辑即可:
public Second getRelated(){
if( second == null )
return defaultValue;
}
关于java - 如果找不到实体,则为 JPA 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32436767/