2012-08-17 127 views
2

我有一个客户端和服务器设置来运行JBoss AS 7.1.1,并且我有一个关于我的persistence.xml的问题。目前它看起来像这样:JBoss AS 7.1.1的Persistence.xml

<persistence> 
    <persistence-unit name="GrahamsProj"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <jta-data-source>java:jboss/datasources/WorkCenterDS</jta-data-source> 
     <properties> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> 
      <property name="hibernate.hbm2ddl.auto" value="create-drop"/> 
      <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/> 
     </properties> 
    </persistence-unit> 
</persistence> 

我在我的服务器的META-INF文件夹中有persistence.xml。我必须错过一些属性,因为当我尝试查询我连接的数据库时遇到此错误。

11:35:07,840 ERROR [org.jboss.ejb3.invocation] (EJB default - 1) JBAS014134: 
EJB Invocation failed on component GrahamsProjBean for method public abstract 
void grahamsprojserver.session.interfaces.GrahamsProjBeanRemote.test(): javax.ejb.EJB 
Exception: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: 
Schemas is not mapped [FROM Schemas s] 

有什么我失踪了吗?

回答

5

您需要在persistence.xml中包含所有模型类。例如:

<persistence> 
    <persistence-unit name="GrahamsProj"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <jta-data-source>java:jboss/datasources/WorkCenterDS</jta-data-source> 
     <class>your.class.model.Example</class> 
     <properties> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> 
      <property name="hibernate.hbm2ddl.auto" value="create-drop"/> 
      <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/> 
     </properties> 
    </persistence-unit> 
</persistence> 
+0

问题解决了!谢谢。 – Graham 2012-08-20 20:52:24

1

您可能还需要更新hibernate.dialect属性。在您的示例中,您使用的是“org.hibernate.dialect.HSQLDialect”,并使用了Oracle驱动程序,例如“oracle.jdbc.OracleDriver”。如果您使用Oracle数据库,则需要更新休眠方言,例如“org.hibernate.dialect.Oracle10gDialect”。

这是你更新的代码:

<persistence> 
    <persistence-unit name="GrahamsProj"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <jta-data-source>java:jboss/datasources/WorkCenterDS</jta-data-source> 
     <class>your.class.model.Example</class> 
     <properties> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> 
      <property name="hibernate.hbm2ddl.auto" value="create-drop"/> 
      <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/> 
     </properties> 
    </persistence-unit> 
</persistence> 
相关问题