Trong mã của tôi, tôi đã như sau:Spring + JPA + Hibernate: persist đang cập nhật thực thể một cách đáng ngạc nhiên. Hãy đi qua các chi tiết
- truy vấn cho một tổ chức quá trình
- cư nó với các dữ liệu quá trình nhất định.
- courseDao.update (thực thể) trong đó gọi nội bộ là phương thức tồn tại (thực thể).
- Đáng ngạc nhiên, dữ liệu đã được cập nhật thành công.
Tôi nhầm lẫn với hành vi này của phương pháp kiên trì.
Hãy giúp tôi.
mã như dưới đây:
//My Service......
@Service("myService")
@Transactional
public class MyServiceImpl implements MyService {
@Transactional(rollbackFor = { Throwable.class })
public void updateCourse(final Course course) throws MyServiceException {
------
------
CourseEntity courseEntity = courseDao.findById(course.getId());
populateCourseEntity(courseEntity, course);
courseDao.update(courseEntity);
}
}
//CourseDao.....
public class CourseDaoImpl implements CourseDao {
--------
public void update(final T entity) throws MyDaoException {
if (entity != null) {
this.entityManager.persist(entity);
}
else {
String errMsg = "Object to be updated cannot be null.";
throw new MyDaoException(errMsg);
}
}
}
Hi Bozho, Cảm ơn bạn đã phản hồi. Nhưng tôi có một câu hỏi ở đây. Trong trường hợp của tôi, thực thể được quản lý, thì việc sử dụng lưu giữ/hợp nhất là gì trong kịch bản là "người quản lý thực thể" sẽ tự động cập nhật các thay đổi trên cam kết. Cảm ơn, Srihari – Srihari
không sử dụng. nó không được yêu cầu. cuộc gọi không có gì. – Bozho