Querydsl jpa开始了

时间:2014-11-05 12:50:00

标签: maven querydsl

我是jsf和java的新手,现在用jsf构建web项目,使用jpa和jpql。 现在在我的项目中编写jpql查询我喜欢这样:

 Query q = em.createQuery("SELECT a FROM Advert as a where a.razdel like ?1 and a.categoryId like ?2"    );

但我已经读过,查询dsl在使用时更好更方便。 所以我已经阅读了一些教程,并在那里找到了:

Add the following dependencies to your Maven project and make sure that the Maven 2 repo of Mysema Source (http://source.mysema.com/maven2/releases) is accessible from your POM :



<dependency>
  <groupId>com.mysema.querydsl</groupId>
  <artifactId>querydsl-apt</artifactId>
  <version>${querydsl.version}</version>
  <scope>provided</scope>
</dependency>    

<dependency>
  <groupId>com.mysema.querydsl</groupId>
  <artifactId>querydsl-jpa</artifactId>
  <version>${querydsl.version}</version>
</dependency>

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.6.1</version>
</dependency>   

但是在哪里添加此设置? 在我的项目中,我只有web.xml,persistence.xml以及所有这些?

1 个答案:

答案 0 :(得分:1)

您必须在文件pom.xml中添加此内容,如下所示:

<dependencies>
  // add the stuff here
</dependencies>

要完成这项工作,您可能需要在${querydsl.version}中定义<property>的值。这看起来应该类似于:

<properties>
    <querydsl.version>THE_REAL_VERSION_NUMBER</querydsl.version>
</properties>

看起来您还必须添加可以下载文件的存储库:

<repositories>
    <repository>
        <id>Mysema Source</id>
        <name>Mysema Source - Releases</name>
        <url>http://source.mysema.com/maven2/releases)</url>
    </repository>
</repositories>   

如果您没有pom.xml,则不会有基于Maven的项目。如果是这种情况,你真的应该阅读基本的Maven教程。

如果您不想使用Maven,您还可以手动下载所需的库jar文件并将它们放在Web应用程序的WEB-INF/lib文件夹中。