Estou com uma dúvida na forma correta de fazer a configuração do hibernate.
Tenho uma aplicação j2SE na qual estou utilizando o hibernate, tenho um arquivo hibernate.cfg.xml, e preciso alterar dados do mesmo.
Digamos que eu faça a instalação do meu sistema e o meu cliente instale o software em C:\temp, eu teria que mudar
<property name=“hibernate.connection.url”>jdbc:firebirdsql:localhost/3050:D:\BANCO.FDB</property>
Tem alguma forma de alterar o hibernate.cfg.xml???
Ou quem sabe fazer isso via codigo java mesmo???
Tem alguns materiais que falam para utilizar o hibernate.proprties, pois esse arquivo eu posso alterar!
Como a maioria de vocês que distribuem programas fazem isso?
homisinho
Bom, fiz da seguinte forma:
publicclassHibernateUtil{privatestaticfinalAnnotationConfigurationcfg=newAnnotationConfiguration();privatestaticSessionsession;static{try{cfg.configure("hibernate.cfg.xml");Filearquiv=newFile(cfg.getProperty("nome.banco"));cfg.setProperty("hibernate.connection.url","jdbc:firebirdsql:localhost/3050:"+arquiv.getAbsolutePath());session=cfg.buildSessionFactory().openSession();}catch(Throwableex){System.out.println(ex.getMessage());System.err.println("Initial SessionFactory creation failed."+ex);thrownewExceptionInInitializerError(ex);}}/** * Retorna uma sessão ativa;<br> * Caso não tenha uma sessao ativa seta um AnnotationConfiguration com as configurações e * cria uma nova sessao; * * @return org.hibernate.Session */publicstaticSessiongetSession(){if(session==null){try{cfg.configure("hibernate.cfg.xml");Filearquiv=newFile(cfg.getProperty("nome.banco"));cfg.setProperty("hibernate.connection.url","jdbc:firebirdsql:localhost/3050:"+arquiv.getAbsolutePath());session=cfg.buildSessionFactory().openSession();}catch(Exceptione){System.err.println("Initial SessionFactory creation failed."+e);thrownewExceptionInInitializerError(e);}}returnsession;}}
Não sei se é a forma correta. Vou utilizar um hibernate.cfg.xml com as configurações e coloquei o nome do banco dentro dele tbm, assim quanto trocar o nome do banco ou usuario e senha altero somente no arquivo xml e não altero nada no meu codigo. Utilizei um File pra buscar o caminho da minha pasta raiz pois o arquivo xml se encontra em tal local.
moacirjava
Homisinho, na linha onde você executa a seguinte linha de código:
Você está buscando por uma tag e alterando seu conteúdo, correto? Gostaria de ver essa tag, será que você poderia enviar esse arquivo do hibernate.cfg por favor? Vou te mandar uma msg privada com meu email.