数据没有得到保存
问题描述:
下面这段代码有什么问题?数据没有得到保存
@PrePersist
public void preSave() throws DuplicatePinException {
Logger.info("PRESAVE");
for (PinBoard pb : board.pins) {
if (pb.pin.id.equals(this.pin.id)) {
throw new DuplicatePinException();
}
}
}
此方法在我的PinBoard类中。我想要一个快速的方法来验证没有重复的条目可以保存。如果我包含该方法,则不会保存任何内容。永远。我将其追溯到board.pins
。我认为默认情况下,引脚是一个延迟加载的集合,所以它可能是强制它在保存时初始化的东西。
我使用的播放1.2.5
答
林不知道打1,但在场上2 @PrePersist不包括在内,所以方法永远不会得到所谓的
是控制台打印日志'Logger.info ( “PRESAVE”)'? – 2013-03-22 03:57:32
@iwawiwi是的,它确实 – preslavrachev 2013-03-22 07:09:17
好的。如果你在循环之前做'列出 piboard_list = board.pins'。并且在'pinboard_list'上循环它仍然没有持续?如果还不行的话。我会建议你把验证码放在控制器中,并在调用'save()'方法之前执行该操作。 –
2013-03-22 12:03:41