1
下面這段代碼有什麼問題?數據沒有得到保存
@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
是控制檯打印日誌'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