У меня есть две сущности, подобные приведенным ниже:
Прибор:
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "device")
private Set<DeviceLine> deviceLines;
DeviceLine:
@ManyToOne
@JoinColumn(name = "device_uid")
private Device device;
DeviceComponent Manager.Class:
DeviceLinePersistenceManager dlpm = new DeviceLinePersistenceManager();
try {
dpm = new DevicePersistenceManager();
Set<DeviceLine> set = new HashSet<DeviceLine>();
for (LineStatus lineStatus : list) {
Device deviceRetrieval = dpm.findDeviceByIp(lineStatus
.getDeviceIp());
if (deviceRetrieval != null) {
Set<DeviceLine> set1 = deviceRetrieval.getDeviceLines();
if (!set1.isEmpty()) {
Iterator<DeviceLine> iterator = set1.iterator();
while (iterator.hasNext()) {
DeviceLine line = iterator.next();
iterator.remove();
DeviceLine lineToDeleted = dlpm.find(line.getUid());
dlpm.purge(lineToDeleted.getUid());
}
}
dpm.update(deviceRetrieval);
}
}
когда запускается вышеуказанный код, я получаю исключение ObjectDeletedException: удаленная сущность передается для сохранения
Я не могу удалить записи об устройстве. Исключение выдается, когда вызывается dlpm.purge(..)
, помогите мне.