有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Tomcat从关系中获取临时对象

为什么我的持久对象在通过关系获取时返回临时对象

ObjectContext context = BaseContext.getThreadObjectContext();

// Delete some employee schedules
List<EmployeeSchedule> employeeSchedules = this.getEmployeeSchedules();
for (EmployeeSchedule employeeSchedule : employeeSchedules) {
  context.deleteObject(employeeSchedule);
}

// Add new schedules
for(int i = 0; i < someCondition; i++) {
   EmployeeSchedule employeeSchedule = context.newObject(EmployeeSchedule.class);
   addToEmployeeSchedules(employeeSchedule);
}

context.commitChanges();

List<EmployeeSchedule> es = getEmployeeSchedules();  // returns transient objects

它将数据正确地插入数据库。缓存中的过时数据会有问题吗


共 (1) 个答案

  1. # 1 楼答案

    我在回答我自己的问题,以防将来有人被这件事绊倒

    我有一段多对多的关系。 员工-员工时间表-时间表

    根据这里的删除规则:http://cayenne.apache.org/docs/3.0/delete-rules.html,我在EmployeeSchedule中设置了employee_id和schedule_id字段,以使删除规则无效

    我还必须通过在Modeler中设置employee_id和schedule_id主键,并在employee和schedule dbEntity中选中“to Dep PK”复选框来配置联接表EmployeeSchedule

    相关链接:http://objectstyle.org/cayenne/lists/cayenne-user/2004/02/0017.html http://grokbase.com/t/cayenne/user/085d70sysk/to-dep-checkbox-was-one-to-many-problem