Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipselink进入错误的数据库平台_Java_Spring_Jpa_Eclipselink - Fatal编程技术网

Java Eclipselink进入错误的数据库平台

Java Eclipselink进入错误的数据库平台,java,spring,jpa,eclipselink,Java,Spring,Jpa,Eclipselink,在尝试运行JPA应用程序时,我得到: [EL Fine]: 2014-07-09 16:55:52.532--Thread(Thread[http-bio-8080-exec-6,5,main])--Detected database platform: org.eclipse.persistence.platform.database.HSQLPlatform 这不是正确的平台。(应该是Oracle瘦客户端)。这个 当在不同的机器上检出相同的项目时,工作正常。只有 我们可以检测到的区别是

在尝试运行JPA应用程序时,我得到:

[EL Fine]: 2014-07-09   16:55:52.532--Thread(Thread[http-bio-8080-exec-6,5,main])--Detected database platform: org.eclipse.persistence.platform.database.HSQLPlatform
这不是正确的平台。(应该是Oracle瘦客户端)。这个 当在不同的机器上检出相同的项目时,工作正常。只有 我们可以检测到的区别是jdk版本(我的版本是13对60)

My persistence.xml看起来像:
org.eclipse.persistence.jpa.PersistenceProvider
wellsDB
my.domain.jpaDatabase.entities.Fred.Feature
我遗漏了什么???

您可以尝试设置



答案是用新安装的Tomee 1.6替换Tomee 1.5。我看不出conf文件有什么不同,但你在那里。在我看来,重要的是这解决了这个问题。创建的war部署在生产Tomee上也没有问题。

这是针对哪个应用服务器运行的?使用eclipselink默认持久性提供程序会告诉它使用应用程序服务器进行连接。它是针对不同的服务器运行的,还是针对其部署的服务器的配置与其他计算机不同?如果没有在指向hsql数据库的应用程序服务器上配置wellsDB datasource,请检查。感谢您的响应。我正在给我做这件事。不,不要让wellsDB指向hsql您如何获得EntityManagerFactory实例?您是否正在传入属性,从而可能无意中覆盖persistence.xml属性?对其中一个答案的注释表明,当您删除非jta数据源标记时,数据源仍在使用,因此我相信某个属性或数据源正在以某种方式被注入。请去掉非jta源行并添加该行。除了我看到的日志之外,还有相同的错误:[EL-Config]:2014-07-10 16:18:56.998--服务器会话(216742744)--连接(1982790477)--线程(线程[http-bio-8080-exec-5,5,main])--连接(数据库登录(平台=>OraclePlatform用户名=>“用户名”连接器=>JNDIConnector数据源名称=>null))[EL-Config]:2014-07-10 16:18:57.335--服务器会话(216742744)——连接(2127675725)——线程(线程[http-bio-8080-exec-5,5,main])--连接:jdbc:hsqldb:file:data/hsqldb/hsqldb用户:SA数据库:HSQL数据库引擎版本:2.2.8驱动程序:HSQL数据库引擎驱动程序版本:2.2.8在正常工作的机器上,我得到了一条线,上面写着Oracle 10等。这真的很奇怪…我不知道有什么线索。请确保在深入研究这个问题时更新帖子。什么如果保留非jta数据源标记,则不会发生这种情况?
My Persistance.xml looks like:


<?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_2_0.xsd">
  <persistence-unit name="JPA_DatabasePU" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <non-jta-data-source>wellsDB</non-jta-data-source>
    <class>my.domain.jpaDatabase.entities.Fred.Feature</class>
    <properties>
      <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
      <property name="javax.persistence.jdbc.url"     value="jdbc:oracle:thin:user@//db.domain.my:1521/inst"/>
      <property name="javax.persistence.jdbc.user" value="username"/>
      <property name="javax.persistence.jdbc.password" value="password"/>
      <property name="eclipselink.logging.level" value="FINEST"/>
    </properties>
  </persistence-unit>
</persistence>
<property name="eclipselink.target-database" value="Oracle"/>