@OrderColumn генерирует запрос на обновление первичного ключа

Я использую список. Список состоит из составного первичного ключа, который также используется для сортировки списка. Проблема в том, что если я удалю элемент в списке (ключевое соединение), annotation @OrderColumn генерирует запрос на обновление первичного ключа, и стоимость возрастает исключение типа:

[26-05-2011 10:34:18:835] WARN  org.hibernate.util.JDBCExceptionReporter  - SQL Error: 1062, SQLState: 23000  
[26-05-2011 10:34:18:835] ERROR org.hibernate.util.JDBCExceptionReporter  -Duplicate  entry '10-10' for key 'PRIMARY'  
[26-05-2011 10:34:18:835] ERROR org.hibernate.event.def.AbstractFlushingEventListener  - Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update  

Вот определение отображения:

@ManyToMany(cascade=CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "chapter_item", joinColumns = { @JoinColumn(name = "chapter_id", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "item_id", nullable = false, updatable = false) })
@OrderColumn(name="iorder")
public List<Item> getItems() {
    return items;
}

Вот запрос на обновление, где у меня есть проблема:

Hibernate: 
update
    chapter_item 
set
    item_id=? 
where
    chapter_id=? 
    and iorder=?  

Интересно, это известная ошибка и есть ли у кого-нибудь решение?

20
задан cbay 17 December 2015 в 20:35
поделиться