Использование Hibernate 5, Spring 4
Пожалуйста, рассмотрите ниже коды и сопоставление между двумя объектами:
Класс пользователя
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "user")
private TruckOwner truckOwner;
//сеттеры-получатели ниже
Класс TruckOwner
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false)
private User user;
//getter setter ниже
Когда мой код пытается обновить значения внутри класса user
, как показано ниже:
Класс UserServiceImpl
@Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public void resetPassword(Long userId,String newPassword) {
User user = userDAO.findById(userId);
user.setPassword(newPassword);
System.out.println(user.getTruckOwner().getTruckOwnerId());
userDAO.merge(user);
}
При вызове userDAO.merge(user);
появляется ошибка ниже:
не-переходный объект имеет нулевой идентификатор: com.mymodel.TruckOwner
Я сталкиваюсь с такой проблемой во многих местах моего проекта, пожалуйста, помогите мне с правильным решением этой проблемы и почему класс TruckOwner имеет все значения null, заданные с помощью hibernate?