У Вас определенно будет лучшая производительность при перемещении удаленных данных в другую таблицу как Jim, сказанный, а также запись наличия того, когда это было удалено, почему, и кого.
Добавление where
ко всем Вашим запросам значительно замедлит их и препятствует использованию любого из индексов, которые Вы можете иметь на таблице. Постарайтесь не иметь "флаги" в своих таблицах, когда это возможно. deleted
=0
Перед сохранением сотрудника необходимо установить связанного сотрудника в транспортном средстве.
Employee newEmployee = new Employee("matt");
vehicle1.setAssociatedEmployee(newEmployee);
vehicles.add(vehicle1);
newEmployee.setVehicles(vehicles);
Employee savedEmployee = employeeDao.persistOrMerge(newEmployee);
Один из способов сделать это - установить опцию каскадирования на вашей «одной» стороне отношений:
class Employee {
//
@OneToMany(cascade = {CascadeType.PERSIST})
private Set<Vehicles> vehicles = new HashSet<Vehicles>();
//
}
таким образом, когда вы вызываете
Employee savedEmployee = employeeDao.persistOrMerge(newEmployee);
, он также сохранит транспортные средства.