[英]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.