toda informação contida aqui
# <!-- Configuracoes do Hibernate -->
# <property name="hibernateProperties">
# <props>
# <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
# <prop key="hibernate.show_sql">false</prop>
# <prop key="hibernate.format_sql">true</prop>
# <prop key="hibernate.hbm2ddl.auto">update</prop>
# </props>
# </property>
pode ser passada diretamente para a factory... por exemplo, as minhas configurações não são setadas no hibernate.cfg.xml, pois minha senha e login são encriptados...
veja o exemplo abaixo...
public static void main(String[] args) {
AnnotationConfiguration conf = new AnnotationConfiguration();
setProperties(conf);
SessionFactory factory = conf.configure().buildSessionFactory();
}
private static void setProperties(AnnotationConfiguration conf) {
HelpDeskConfiguration config = new HelpDeskConfiguration();
HelpDeskConfigurationFacade facade = new HelpDeskConfigurationFacade(config);
for(Map.Entry<String, String> property : facade.getMainPersistenceUnitProperties().entrySet())
conf.setProperty(property.getKey(), property.getValue());
}
A classe HelpDeskConfiguration que le as propriedades em um arquivo meu, chamado helpdesk.properties ... esse arquivo tem meus dados e a factory é criada dinamicamente...
helpdesk.properties
[Persistence]
persistence.unit.main = helpdesk
[Main-Database]
connection.login.encripted = true
connection.driver_class = com.mysql.jdbc.Driver
connection.username = zHjLy%&9=a+v#yY2xSR2NzVkdhMTIz
connection.password = *&qT$%Xhz#$%MmNsCx*6UkdjMw==
connection.url = jdbc:mysql://localhost:3306/helpdesk
[Hibernate]
hibernate.dialect = org.hibernate.dialect.MySQLDialect
hibernate.cache.provider_class = org.hibernate.cache.NoCacheProvider
hibernate.show_sql = true
hibernate.format_sql = true
hibernate.validator.autoregister_listeners = false
o meu hibernate.xml.cfg é assim, puramente em branco
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
</session-factory>
</hibernate-configuration>
<!--todas informações em helpdesk.properties-->