StaleObjectStateException: строка была обновлена ​​или удалена другой транзакцией в JPA - PullRequest
1 голос
/ 08 марта 2012

У меня есть отношение ManyToOne в "Letter.java" следующим образом:

@ManyToOne(fetch = FetchType.EAGER)
    private Letter inResponseTo;

С одним объектом Letter связано несколько объектов inResponseTo одного и того же типа Letter. Для объекта Letter все объекты inResponseToобновляются, поэтому сначала я объединяю их в цикле и, наконец, сохраняю () объект Letter следующим образом:

private void saveCorrespondence(List<Letter> letterList,
            final Claimant claimant) {
        for (Letter letter : letterList) {
            if(letter.getLetterCode() == null) {                
                if(letter.getMailType() == MailType.OUTGOING) {
                    letter.setLetterCode(LetterCode.findByCode("701"));
                } else if(letter.getMailType() == MailType.INCOMING) {
                    letter.setLetterCode(LetterCode.findByCode("109"));
                }
            }   
            letter.setClaimant(claimant);
            if (letter.getId() != null) {
                letter = letter.merge();
                letter.flush();
            }
            letter.persist();//Here in this line i am getting an error.
        }
    }

Примечание: -Claimant и Letter имеют отношение OneToMany.
При сохранении полученияОшибка как StaleObjectStateException: строка была обновлена ​​или удалена другой транзакцией JPA в той же строке. Как я могу это исправить, помогите мне.

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