Я пытаюсь сохранить объект UserOnline, который имеет отношение 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 на самом деле нулевое, объект на самом деле не сохраняется.Есть идеи, почему это так?Это не дает мне ошибку, это просто не создает запись.Мне также интересно, как я мог бы создать объект UserOnline, начиная с объекта User.
Что-то вроде
User user = User.findById(1);
user.onlineStatus.room = room.
user.save();
Могут ли связанные объекты быть (созданы, если они не существуют и отредактированы иначе) сохранен таким образом?
User.java
@OneToOne(mappedBy="user")
public UserOnline onlineStatus;
Метод save () - из среды воспроизведения.