Я пытаюсь заставить последовательности с динамическими объектами работать в EclipseLink, и мне нужна помощь.
Я определяю свою динамическую сущность следующим образом:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");
EntityManager em = emf.createEntityManager();
Session session = JpaHelper.getEntityManager(em).getServerSession();
DynamicClassLoader dcl = DynamicClassLoader.lookup(session);
Class<?> testClass = dcl.createDynamicClass("org.persistence.Test");
JPADynamicTypeBuilder test = new JPADynamicTypeBuilder(testClass, null, "TEST");
test.addDirectMapping("id", long.class, "T_ID");
test.setPrimaryKeyFields("T_ID");
test.addDirectMapping("col1", long.class, "T_COL1");
test.addDirectMapping("col2", int.class, "T_COL2");
test.addDirectMapping("col3", String.class, "T_COL3");
test.addDirectMapping("col4", String.class, "T_COL4");
test.addDirectMapping("col5", double.class, "T_COL5");
test.addDirectMapping("col6", double.class, "T_COL6");
DynamicHelper helper = new JPADynamicHelper(em);
helper.addTypes(true, true, test.getType());
Я заметил, что все создано в соответствии с указанным. Я попытался найти документацию по использованию последовательностей базы данных и заметил метод JPADynamicTypeBuilder.configureSequencing (Sequence, String, String). Но я не смог найти ни одного примера, как это сделать. Я поиграл с этим методом и всегда заканчиваю стратегией секвенирования по умолчанию, то есть таблицей с именем SEQUENCE.
Я пытался с предварительно скомпилированной сущностью, используя @GeneratedValue и @SequenceGenerator, и все работает нормально, поэтому я что-то не так делаю с динамическими сущностями.
Кто-нибудь знает, что я мог делать неправильно?
Это кажется неуместным, но я все равно говорю, что моя база данных - Oracle.
Заранее спасибо,
Руи