ObjectDeletedException: удаленная сущность передана для сохранения - PullRequest
0 голосов
/ 18 июля 2011

У меня есть две сущности, подобные приведенным ниже: Прибор:

@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(..), помогите мне.

1 Ответ

0 голосов
/ 18 июля 2011

Попробуйте dlpm.purge(lineToDeleted);. В настоящее время вы передаете Uid, а не сам объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...