[英]How update Entity hibernate?
我寫了一個簡單的 Java 項目,您可以在其中創建時間表,但是我在更新 Course 實體時遇到了問題。 我正在嘗試編寫可以將 Lecture 添加到 Course 的函數:關系 OneToMany。 首先,我運行 .read 函數從數據庫中獲取 Lecture,然后是 Course,然后通過 .getLectures().add() 我想將 Lecture 添加到我的 Course 類所具有的 Set 然后通過 .update() 函數我嘗試更新數據庫中有關課程的信息,但沒有任何反應。 休眠只做選擇請求。 我的代碼:
Lecture lecture = lectureDao.read(lectureId);
Course course = courseDao.read(courseId);
course.getLecture().add(lecture);
courseDao.update(course);
@Override
public Course read(int id) {
transaction = currentSession().beginTransaction();
Course course = currentSession().get(Course.class, id);
currentSession().close();
return course;
}
@Override
public void update(Course course) {
if (transaction == null) {
try {
transaction = currentSession().beginTransaction();
currentSession().update(course);
currentSession().flush();
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
}
currentSession().close();
}
}
很難確定,因為我們沒有看到實體代碼。 那是單向映射還是雙向映射? 也許您忘記了 @CASCADETYPE.PERSIST 注釋? 我還建議在 Course.java 中創建一個方法來向課程添加新的 Lecture,例如
public void addNewLecture (Lecture lecture) {
If (lectureList == null){
lectureList = new ArrayList<>();
}
this.lectureList.add(lecture);
lecture.setCourse(this);
}
抱歉格式不正確,但我現在正在使用 Android 應用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.