JPA - Сохранение Связи "один ко многим"

У Вас определенно будет лучшая производительность при перемещении удаленных данных в другую таблицу как Jim, сказанный, а также запись наличия того, когда это было удалено, почему, и кого.

Добавление where deleted=0 ко всем Вашим запросам значительно замедлит их и препятствует использованию любого из индексов, которые Вы можете иметь на таблице. Постарайтесь не иметь "флаги" в своих таблицах, когда это возможно.

52
задан Manuel Drieschmanns 7 November 2017 в 04:08
поделиться

2 ответа

Перед сохранением сотрудника необходимо установить связанного сотрудника в транспортном средстве.

Employee newEmployee = new Employee("matt");
vehicle1.setAssociatedEmployee(newEmployee);
vehicles.add(vehicle1);

newEmployee.setVehicles(vehicles);

Employee savedEmployee = employeeDao.persistOrMerge(newEmployee);
38
ответ дан 7 November 2019 в 09:33
поделиться

Один из способов сделать это - установить опцию каскадирования на вашей «одной» стороне отношений:

class Employee {
   // 

   @OneToMany(cascade = {CascadeType.PERSIST})
   private Set<Vehicles> vehicles = new HashSet<Vehicles>();

   //
}

таким образом, когда вы вызываете

Employee savedEmployee = employeeDao.persistOrMerge(newEmployee);

, он также сохранит транспортные средства.

17
ответ дан 7 November 2019 в 09:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: