Netbeans运行JPQL查询无法正常工作

时间:2017-12-22 11:01:35

标签: java postgresql jpa netbeans jboss

我使用CRUD + EJB使用JPA服务器制作了JBoss个应用程序,效果非常好。但我无法run JPQL从持久性文件中查询netbeans。请在下面找到配置。

JBoss 7数据源:

<datasource jta="true" jndi-name="java:/jboss/darshan" pool-name="com.discusit.darshan_darshan-ejb_ejb_1.0PU" enabled="true" use-ccm="false">
    <connection-url>jdbc:postgresql://localhost:5432/darshan</connection-url>
    <driver-class>org.postgresql.Driver</driver-class>
    <driver>postgresql</driver>
    <security>
        <user-name>darshan</user-name>
        <password>darshan</password>
    </security>
    <validation>
        <validate-on-match>false</validate-on-match>
        <background-validation>false</background-validation>
    </validation>
    <statement>
        <share-prepared-statements>false</share-prepared-statements>
    </statement>
</datasource>

persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.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="com.discusit.darshan_darshan-ejb_ejb_1.0PU" transaction-type="JTA">
        <jta-data-source>java:/jboss/darshan</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <properties/>
    </persistence-unit>
</persistence>

请注意,我可以自动完成我的桌子,但是当我跑步时,我发现以下错误。

  

java.lang.Exception:您需要添加持久性提供程序库   要么投影类路径,要么在Netbeans中注册为Ant库

  

java.lang.Exception:您需要指定数据库连接或   persistence.xml中的数据源。

如果您需要任何其他信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

  1. 确保服务选项卡下的服务器中有valid instance of your application server(您的案例JBoss)。

  2. 您的申请中的
  3. Properties -> Run : Select your server (JBoss)

  4. 确保您在“服务”选项卡下的“数据库”中拥有valid Database connection架构(确保它具有与应用程序服务器中的数据源配置中相同的凭据)。

  5. 确保您的persistence.xml中已有added your entity classes

  6. 下载您的JPA提供程序库,并从

    将其添加到您的项目中

    Properties -> Libraries : Add Library

  7. 如果你使用maven:

    只需添加JPA provider

    的依赖关系

    (确保您在运行JPQL期间未包含此标记 "<scope>provided</scope>" ,但在编译之前将其添加,因为您的应用程序服务器将提供它。)

    希望它能奏效。