Следующий (упрощенная версия нашего) кода проходит наши тесты JUnit в Hibernate, но не в EclipseLink.Что нужно, чтобы эта работа работала в EclipseLink?
public static void store(EntityManager em, String a, String b) {
Entry entry=new Entry();
entry.setFirst(a);
entry.setLast(b);
em.persist(entry);
em.persist(new SubEntry(entry.getId(), a, b));
}
Сбой, потому что entry.getId () возвращает 0 при использовании EclipseLink.Как правильно извлечь уникальный идентификатор объекта, который только что был сохранен?
Кажется очевидным, что приведенный выше код не имеет смысла, как, например, запись entry.getId () до выполнения транзакции.совершено, вероятно, не имеет смысла, однако спящий режим позволил это.