我正試圖保存一個UserOnline對象,它與數據庫中的用戶有OneToOne關係。如果它不存在,我想創建一個新的,如果它存在,只需更換房間。將OneToOne映射對象保存在數據庫中?
這是我使用的代碼:
UserOnline uo = (UserOnline) UserOnline.find("byUser",
getConnectedUser()).first();
if (uo == null) {
uo = new UserOnline(getConnectedUser(), room);
room.save();
} else {
uo.currentRoom = room;
uo.save();
}
出於某種原因,即使UO實際上是空,該對象不實際保存。任何想法,爲什麼這是?這不是給我一個錯誤,它只是不創造記錄。我也想知道如何從User對象開始創建一個UserOnline對象。
像
User user = User.findById(1);
user.onlineStatus.room = room.
user.save();
燦相關對象進行的東西(創建如果不存在,否則編輯)保存這種方式?
User.java
@OneToOne(mappedBy="user")
public UserOnline onlineStatus;
的save()方法是from the play framework.
你能提供更多的代碼嗎?例如。 save()函數以及對象之間的關係是如何建模的... – bert
save()方法來自播放框架,我應該提到這一點。發佈更新! – networkprofile