首先,我想说明我们的环境细节。
我们正在尝试使用EJB - hibernate和sql Azure来使用Eclipse在Azure云上创建应用程序。
我们需要动态创建和交易数据库。我们能够动态创建数据库。但是,在尝试处理这些问题时,我们遇到了错误:
“java.sql.SQLException:找不到适合连接网址的驱动程序”
当我们尝试使用jpa进行静态交易时,这不是问题。但是,无法完成动态事务。 entitymanager对象已创建,但无法连接数据库。
有人可以帮助我们并解释如何使用JPA处理动态创建数据库的事务。
谢谢, Saugata
[edit]我们使用以下persistence.xml:
> org.hibernate.ejb.HibernatePersistence 的java:JBoss的/ EDS< / JTA - 数据 - 源> - > net.oauth.database.Co net.oauth.database.Cr
value =“org.hibernate.transaction.JTATransactionFactory”/> value =“org.hibernate.transaction.JBossTransactionManagerLookup”/>
我们连接数据库的代码如下:
映射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 factory = Persistence.createEntityManagerFactory(ENTERPRISE_UNIT_NAME,configOverrides);
请注意,我们正在尝试动态创建并连接到db,因此不会静态创建db。 为此,我们收到错误:
“java.sql.SQLException:找不到适合连接网址的驱动程序”
答案 0 :(得分:0)
使用持久性单元创建一个persistence.xml,并将所有内容放在那里是静态的(例如数据库方言,日志记录参数等)
然后使用以下方法创建实体管理器:
javax.persistence.Persistence.createEntityManagerFactory(String persistenceUnitName, Map properties);
在地图中提供变量参数,如下所示:
properties.put("hibernate.connection.url", "jdbc:postgresql://127.0.0.1/test");
properties.put("hibernate.connection.username", "joe");
properties.put("hibernate.connection.password", "pass");