虽然我确实设法通过“服务”netbeans 选项卡连接到我的数据库,但我的应用程序持久单元似乎无法正常工作......它似乎只是无休止地“等等,也许我们稍后会联系你。 ..“ 循环。
问题1:为什么它不起作用?
问题 2(如果没有理由 1):我怎样才能产生一个小的解决方法?
这是我的持久单元声明:
entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory(resourceMap.getString("entityManager.persistenceUnit")).createEntityManager();
resourceMap.getString("entityManager.persistenceUnit")
只允许我访问定义我的持久性单元的属性字段。
这是我的persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="analyses_2PU" transaction-type="RESOURCE_LOCAL">
<provider>oracle.toplink.essentials.PersistenceProvider</provider>
<class>analysesmanager.Produits</class>
<class>analysesmanager.Lots</class>
<class>analysesmanager.SpecProduits</class>
<class>analysesmanager.Parametres</class>
<class>analysesmanager.Clients</class>
<class>analysesmanager.Resultats</class>
<class>analysesmanager.Analyses</class>
<properties>
<property name="toplink.jdbc.user" value="XXXXX"/>
<property name="toplink.jdbc.password" value="XXX"/>
<property name="toplink.jdbc.url" value="jdbc:mysql://172.17.22.15:3306/soliance_analyses"/>
<property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
</properties>
</persistence-unit>
</persistence>
虽然这不适用于我的远程 mysql 服务器,但它可以在我的本地服务器上使用数据库的本地副本......
唯一的区别是这两条线之间......
<property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/soliance_analyses"/>
<property name="toplink.jdbc.url" value="jdbc:mysql://172.17.22.15:3306/soliance_analyses"/>
By the way, running my local version, directly on the remote server does work... It seems to be an issue with either the network (which would not be solvable), either the persistence.xml used for remote connection.