Boa noite amigos, tenho uma pequena dúvida trabalho com JDBC, e uns pequenos projetos locais com Persistencia a duvida é como configuro o endereço do servidor em rede para o arquivo de configuração de persistencia ou do hibernate em tempo de execução se o mesmo encontra-se já dentro do .jar gerado ?
Pode explicar melhor?
Abs.
Exemplo eu trabalho com uma app local com os parametros do hibernate para um servidor local mas preciso de app clientes tbm que ficarão na rede e o ip do servidor ou nome do host tem que ser informado somente no momento da implantação do software, como fazer essa configuração do ip do host para o hibernate sendo que o arquivo de configuração/persistencia já encontra-se dentro do .jar teria que gerar um outro arquivo de configurações que fica externo ao jar ou algo do tipo ?
Essa aplicação é web ou desktop?
Boa noite amigo é Desktop Java SE com Swing Framework a questão de ser web imagino que não seria necessário clientes e nem configuração do host do servidor pois o mesmo seria localhost onde a aplicação estiver ai os cliente acessavam através de navegadores a minha duvida como no inicio é da reconfiguração do host do servidor de dados em tempo de execução
Sim sim… Entendi. É que a forma como você falou não foi das mais claras do mundo.
Quanto ao seu problema, acho que a alternativa é iniciar o EntityManagerFactory/SessionFactory programaticamente mesmo. Você não é obrigado a colocar as informações de banco de dados no arquivo “.xml” do jpa/hibernate não. O seu programa cliente pode ser iniciado passando essas informações por propriedade de sistema ou até mesmo sendo informadas diretamente na interface swing, e você via código passaria essas informações “na mão”. Um breve exemplo aqui de como isso seria feito usando JPA:
[code]//buscando os dados da conexao de algum lugar que vc escolheu
String url = getUrl();
String username = getUsername();
String password = getPassword();
Map<String, String> props = new HashMap<String, String>();
props.put(“javax.persistence.jdbc.user”, username);
props.put(“javax.persistence.jdbc.password”, password);
props.put(“javax.persistence.jdbc.url”, url);
Persistence.createEntityManagerFactory(“nome-do-persistence-unit”, props);[/code]
Obrigado amigo vou fazes aqui e posto falando o resultado obrigado…