如何在jpa / eclipselink中访问同一数据库中的不同表

时间:2015-03-16 05:50:21

标签: java jpa eclipselink

我有两个实体类说A类和B类以及两个相应的服务类Aservice和Bservice,这是我的持久性。

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="adara" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>com.qaf.model.entity.Inwards</class>
    <class>com.qaf.model.entity.Stock</class>
    <properties>
      <property name="eclipselink.logging.level" value="FINE"/>
      <property name="javax.persistence.jdbc.url" value="jdbc:derby:./workshopDB;create=true"/>
      <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
      <property name="eclipselink.ddl-generation" value="create-tables"/>
    </properties>
  </persistence-unit>
</persistence>

现在当我对A类进行SELECT查询时,它会给我结果,但是当我对B类进行SELECT查询时,我会得到一个例外

  

[EL警告]:2015-03-16 19:40:14.196 - UnitOfWork(27187220)
  Thread(Thread [JavaFX Application Thread,5,main]) - Exception [EclipseLink-4002](Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd):org.eclipse.persistence.exceptions.DatabaseException

     

内部异常:java.sql.SQLSyntaxErrorException:列'DESPATCHNO'要么不在FROM列表中的任何表中,要么出现在连接规范中,并且不在连接规范的范围内,或者出现在HAVING子句中,而不是在GROUP BY列表中。如果这是CREATE或ALTER TABLE语句,那么'DESPATCHNO'不是目标表中的列。

     

错误代码:30000

我是JPA的初学者,希望你们能帮助我。

0 个答案:

没有答案