【问题标题】:Need information about JPA based transaction for dynamic SQL table需要有关动态 SQL 表的基于 JPA 的事务的信息
【发布时间】:2012-07-13 09:56:27
【问题描述】:

首先,我想说明我们的环境细节。

我们正在尝试使用 EJB- Azure 来使用 Eclipse 在 Azure 云上创建应用程序。

我们需要动态地创建和处理数据库。我们能够动态地创建数据库。但是,在尝试对这些进行交易时,我们遇到了错误:

"java.sql.SQLException: 没有为连接 url 找到合适的驱动程序"

当我们尝试使用 进行静态交易时,这不是问题。但是,不能进行动态事务。 entitymanager 对象已创建,但无法连接数据库。

有人可以帮助我们并解释我们如何使用 JPA 处理动态创建的数据库的事务。

谢谢, 萨加塔

[编辑] 我们正在使用以下 persistence.xml:

>org.hibernate.ejb.HibernatePersistence java:jboss/EDS --> 网络.oauth.database.Co net.oauth.database.Cr

value="org.hibernate.transaction.JTATransactionFactory" /> value="org.hibernate.transaction.JBossTransactionManagerLookup" />

我们连接db的代码如下: Map configOverrides = new HashMap(); configOverrides.put("hibernate.connection.password", ""); configOverrides.put("hibernate.connection.username", ""); configOverrides.put("hibernate.connection.driver_class","com.microsoft.sqlserver.jdbc.SQLServerDriver");
configOverrides.put("hibernate.connection.url", "jdbc:sqlsever://;" + "databaseName=;user=;password="); EntityManagerFactory 工厂 = Persistence.createEntityManagerFactory(ENTERPRISE_UNIT_NAME, configOverrides);

请注意,我们正在尝试动态创建和连接数据库,因此不要静态创建数据库。 为此,我们得到了错误:

"java.sql.SQLException: 没有为连接 url 找到合适的驱动程序"

【问题讨论】:

    标签: hibernate sql jpa sql hibernate


    【解决方案1】:

    创建一个带有持久性单元的 persistence.xml 并将所有静态的内容(例如数据库方言、日志记录参数等)放在那里

    然后使用以下方法创建实体管理器:

    javax.persistence.Persistence.createEntityManagerFactory(String persistenceUnitName, Map properties);
    

    在map中提供可变参数,像这样:

    properties.put("hibernate.connection.url", "jdbc:postgresql://127.0.0.1/test");
    properties.put("hibernate.connection.username", "joe");
    properties.put("hibernate.connection.password", "pass");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多