Динамическое соединение с BD с JPA

Я работаю с Firebird плюс JPA и SpringData для обработки соединений с базами данных Firebird. У меня настроены соединения в моем applicationContext.xml, и у меня все отлично работает. Теперь мне нужно подключиться к другим базам данных, местонахождение которых я не знаю заранее. Я не знаю, как подойти к проблеме. Есть какие-нибудь подсказки?

0
задан 16.01.2017, 15:00
0 ответов

Нечто похожее могло бы стоить, но ты не внес достаточной информации как чтобы это знать в верную науку. Поверьте persistence-unit без свойств BD:

  <persistence>
      <persistence-unit name="miPersistenceUnit" transaction-type="RESOURCE_LOCAL">
          <class>stack.overflow.Respuesta</class>
      </persistence-unit>
  </persistence>

Где ты нуждался в том, чтобы создать entityManager:

       //Inicialización factoría
        EntityManagerFactory emf;
        Map properties = new HashMap();
        properties.put("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");//Clase del driver a utilizar
        properties.put("hibernate.connection.url", "jdbc:mysql://localhost:3306/miBD");//URL de conexión a la BD
        properties.put("hibernate.connection.username", "root");//Usuario
        properties.put("hibernate.connection.password", "mysql");//Contraseña
        properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");//Dialecto hibernate
        properties.put("hibernate.show-sql", "true");
        emf = Persistence.createEntityManagerFactory("miPersistenceUnit",properties);

        //Creación EntityManager
        EntityManager entityManager = (EntityManager) emf.createEntityManager();

        //Insert ejemplo
        entityManager.getTransaction().begin();
        Respuesta miRespuesta = new Respuesta(1,"A ver si vale");
        entityManager.persist(miRespuesta);
        entityManager.getTransaction().commit();
2
ответ дан 03.12.2019, 17:40