J'essaie d'obtenir des séquences avec des entités dynamiques pour fonctionner dans EclipseLink et j'ai besoin d'aide.Séquences avec des entités dynamiques dans EclipseLink
Je définir mon entité dynamique comme ce qui suit:
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());
je remarquai que tout est créé selon le spécifié. J'ai essayé de chercher de la documentation sur comment utiliser les séquences de base de données et j'ai remarqué la méthode JPADynamicTypeBuilder.configureSequencing (Sequence, String, String). Mais je n'ai pas trouvé d'exemple sur la façon de le faire. J'ai joué avec cette méthode et je termine toujours avec la stratégie de séquençage par défaut, c'est-à-dire une table nommée SEQUENCE.
J'ai essayé avec une entité précompilée en utilisant @GeneratedValue et @SequenceGenerator et tout fonctionne bien, donc c'est quelque chose que je fais mal avec les entités dynamiques.
Est-ce que quelqu'un sait ce que j'ai pu faire de mal?
Cela ne semble pas pertinent, mais je dis quand même que ma base de données est Oracle.
Merci à l'avance,
Rui