Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / EventCache & Hibernate 4.2.x - An entity copy was already assigned to a different entity / 3 сообщений из 3, страница 1 из 1
14.07.2013, 03:18:24
    #38330437
kamenjahr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EventCache & Hibernate 4.2.x - An entity copy was already assigned to a different entity
Привет,
пытаюсь разобраться с An entity copy was already assigned to a different entity проблемкой в хибере с 4.2-х версии , т.к. вот такое исключение вываливается


Caused by: java.lang.IllegalStateException:
Error occurred while storing entity
[DayPlanElementEntry [getDayPlanMode()=NONE, getCompositeId()=DayPlanElementEntryId [parentPersonId=874c8eac-8796-478d-a4d5-dd011f7d6a4b, dayPlanElementId=ab683a25-633e-419e-89b6-4aef7829d4f6], hashCode=-2039940039]].

An entity copy
[org.hw.domain.DayPlanElementEntry#DayPlanElementEntryId [parentPersonId=874c8eac-8796-478d-a4d5-dd011f7d6a4b, dayPlanElementId=ab683a25-633e-419e-89b6-4aef7829d4f6]]

was already assigned to a different entity

[org.hw.domain.DayPlanElementEntry#DayPlanElementEntryId [parentPersonId=874c8eac-8796-478d-a4d5-dd011f7d6a4b, dayPlanElementId=ab683a25-633e-419e-89b6-4aef7829d4f6]].

at org.hibernate.event.internal.EventCache.put(EventCache.java:192)

at org.hibernate.event.internal.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:285)

at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:151)


При поиске решений наткнулся на вот такой тест как раз инересуемой рутины

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
    @Test
public void testCopyAssociatedWith2ExistingEntities() {
session.getTransaction().begin();
Simple entity1 = new Simple( 1 );
session.persist( entity1 );
Simple copy1 = new Simple( 1 );
cache.put(entity1, copy1);
Simple entity2 = new Simple( 2 );
session.persist( entity2 );
Simple copy2 = new Simple( 2 );
cache.put( entity2, copy2 );
session.flush();

try {
cache.put( entity1, copy2 );
fail( "should have thrown IllegalStateException");
}
catch( IllegalStateException ex ) {
// expected
assertTrue( ex.getMessage().startsWith( "Error occurred while storing entity [org.hibernate.event.internal.EventCacheTest$Simple#1]." ) );
}
session.getTransaction().rollback();
}
........

    @Entity
private static class Simple {
@Id
private int value;

public Simple(int value) {
this.value = value;
}

public int getValue() {
return value;
}

public void setValue(int value) {
this.value = value;
}
}



Не могу понять - почему ситуация считается ошибочной, если НЕ возникает исключения???
...
Рейтинг: 0 / 0
14.07.2013, 22:57:47
    #38330694
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EventCache & Hibernate 4.2.x - An entity copy was already assigned to a different entity
kamenjahrНе могу понять - почему ситуация считается ошибочной, если НЕ возникает исключения???
Потому что это тест данного исключения, и ожидается что оно возникнет. В том же юнит-тесте еще несколько аналогичных проверок есть на другие исключения.
...
Рейтинг: 0 / 0
14.07.2013, 23:41:58
    #38330711
kamenjahr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EventCache & Hibernate 4.2.x - An entity copy was already assigned to a different entity
Локшин МаркkamenjahrНе могу понять - почему ситуация считается ошибочной, если НЕ возникает исключения???
Потому что это тест данного исключения, и ожидается что оно возникнет. В том же юнит-тесте еще несколько аналогичных проверок есть на другие исключения.
Не понятно было, почему ожидатеся. Но я cache.put( entity1 , copy2 ); не доглядел вначале:-/
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / EventCache & Hibernate 4.2.x - An entity copy was already assigned to a different entity / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]