Для автономного режима гибернации это легко сделать, когда вы создаете объект персистентности, вы можете передать ему хэш-таблицу пар ключ-значение. В вашем случае ключ "hibernate.hbm2dll.auto" и значение "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;
}
Затем мой класс конфигурации должен заполнить Карту объектами из моего пользовательского файла конфигурации.
Я не верю, что вы можете изменить уже открытый экземпляр EntityManager. И хотя вы можете передать EntityManager карту, я обнаружил, что она игнорирует эти свойства и обратила внимание только тогда, когда вы сделали это с фабрики ...