我有2张桌子(为了这个问题,我真的很简单):
Book {
id Integer,
name String,
author_id Integer
}
Author {
id Integer,
fullName String
}
现在我需要保存Book
,但我没有author_id
,我只有作者fullName
。
我可以按名称获取作者,然后执行book.set(thatAuthor)
,但我在许多类中有更多字段,我必须填写所有这些对象,并且它的代码比我想要的多,特别是因为我使用map-struct映射所有内容然后我只想调用persist并完成它,但我不能,我必须手动设置这些字段。
问题:是否有可能告诉Hibernate这样做?我有实体类填充数据(作者设置fullName
)并且它是唯一的,所以如果Hibernate尝试这样做,他只会找到1个结果,没有问题。
我想到了这样的功能:Hibernate看着这个类。它看到某些字段已设置,而其他字段则未设置。它需要设置所有字段并将它们全部放在where clause
中(在我的情况下,它只是作者fullName
)并尝试查找单个结果,否则抛出异常。
不确定你是否能理解我,尽我所能。不要因为这个问题而讨厌我,我所能找到的就是做我做的事情,手动加载对象。如果我可以通过提出这个问题来避免大量代码 - 为什么不尝试?