Pour hibernate standalone, c'est facile à faire, lorsque vous créez l'objet de persistance, vous pouvez lui passer une table de hachage de paires clé-valeur. Dans votre cas la clé "hibernate.hbm2dll.auto" et la valeur de "validate"...
private Map properties = Util.newMap();
public EntityManagerFactory getEntityManagerFactory() {
if (emf == null || !emf.isOpen()) {
emf = Persistence.createEntityManagerFactory(PU, properties);
}
return emf;
}
public EntityManager getEntityManager() {
if (em == null || !em.isOpen()) {
em = getEntityManagerFactory().createEntityManager();
}
return em;
}
Je demanderais ensuite à ma classe de configuration de remplir la carte avec les éléments de mon fichier de configuration personnalisé.
Je ne pense pas que vous puissiez modifier une instance d'EntityManager déjà ouverte. Et bien que vous puissiez passer une Map à l'EntityManager, j'ai constaté qu'il ignorait ces propriétés et ne prêtait attention que lorsque vous le faisiez à partir de la Factory...