Estoy tratando de obtener secuencias con entidades dinámicas para trabajar en EclipseLink y necesito ayuda.Secuencias con entidades dinámicas en EclipseLink
estoy definiendo mi entidad dinámica como la siguiente:
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());
me di cuenta de que todo es creado de acuerdo a la especificada. Intenté buscar documentación sobre cómo usar las secuencias de la base de datos y noté el método JPADynamicTypeBuilder.configureSecuencia (Secuencia, Cadena, Cadena). Pero no pude encontrar ningún ejemplo sobre cómo hacerlo. Jugueteé con este método y termino siempre con la estrategia de secuencia predeterminada, es decir, una tabla llamada SECUENCIA.
Intenté con una entidad precompilada usando @GeneratedValue y @SequenceGenerator y todo funciona bien, por lo que es algo que estoy haciendo mal con las entidades dinámicas.
¿Alguien sabe lo que podría estar haciendo mal?
Parece irrelevante, pero estoy diciendo de todos modos que mi base de datos es Oracle.
Gracias de antemano,
Rui