1

我正在开发一个 WebApp,用 Java 编写,在 TomEE 上运行。作为持久层,我使用的是 Hibernate。Persistence.xml 已配置,entityManager 由 TomEE 使用 EJB 实例 @PersistenceContext(name = "persistentUnitJndi", unitName = "docTracingPU") @Stateless(name = "utenteFacade", mappedName = IUtente.MAPPED_NAME)

它似乎工作正常,但所有查询都返回一个空结果(空列表)。数据库是 PostrgeSQL,我尝试了 8.4 和 9.2,但结果总是一样的。

postgresql.conf我在我只读的 postrges () 上进行了日志记录Could not receive data from client: Unknown winsock error 10061

我尝试关闭防病毒和/或防火墙....没有任何变化。

该怎么办?

编辑:

我在 Win8.1 机器上尝试了相同的项目。我在这里得到user lacks privilege or object not found

4

1 回答 1

0

我发现:

  • hibernate.cfg.xml 不需要
  • 只需要 persistence.xml 和 tomee.xml

我给你我的例子:

<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="docTracingPU" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>java:comp/env/jdbc/docTracing</jta-data-source>
    <non-jta-data-source>java:comp/env/jdbc/docTracing</non-jta-data-source>

    <class>com.emaborsa.doctracing.core.persistentobject.UtentePO</class>

    <properties>
        <property name="hibernate.hbm2ddl.auto" value="validate" />
         <property name="hibernate.transaction.flush_before_completion" value="true"/>
         <property name="hibernate.transaction.auto_close_session" value="true"/>
        <property name="hibernate.transaction.manager_lookup_class" value="org.apache.openejb.hibernate.TransactionManagerLookup" />
         <property name="hibernate.transaction.flush_before_completion" value="true"/>
         <property name="hibernate.transaction.auto_close_session" value="true"/>

        <!-- Print SQL to stdout. -->
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true" />
    </properties>
</persistence-unit>

 <?xml version="1.0" encoding="UTF-8"?> 
     <tomee> 
        <Resource  id="docTracingPU" type="DataSource">
           JdbcDriver org.postgresql.Driver
           JdbcUrl jdbc:postgresql://127.0.0.1:5432/myDb
           UserName ****
           Password ****
           JtaManaged false
          TestWhileIdle true
          InitialSize 5
          </Resource> 
        <Resource id="docTracingPU" type="DataSource">
           JdbcDriver org.postgresql.Driver
           JdbcUrl jdbc:postgresql://127.0.0.1:5432/myDb
           UserName *****
           Password *****
           JtaManaged true
          TestWhileIdle true
          InitialSize 5
     </Resource> 
 </tomee>
于 2013-09-29T11:44:35.670 回答