Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Playframework QueryDSL和Play框架_Playframework_Jpa 2.0_Querydsl - Fatal编程技术网

Playframework QueryDSL和Play框架

Playframework QueryDSL和Play框架,playframework,jpa-2.0,querydsl,Playframework,Jpa 2.0,Querydsl,我在JPA2中使用QueryDSL已经有一段时间了,这是我所知道的ORM最强大的组合。JPA标准API是一场灾难。对于QueryDSL,我也忘记了JPQL 我想在游戏中使用QueryDSL!除了作为字符串的JPQL的内联部分外,所有的东西看起来都很好。它让我想起了CakePHP 我希望使用重构证明查询语言(以及其他一些东西:)) QueryDSL的使用将非常简单。它只需要EntityManager。 但是QueryDSL有这个APT类生成器(就像Hibernate for citeria API

我在JPA2中使用QueryDSL已经有一段时间了,这是我所知道的ORM最强大的组合。JPA标准API是一场灾难。对于QueryDSL,我也忘记了JPQL

我想在游戏中使用QueryDSL!除了作为字符串的JPQL的内联部分外,所有的东西看起来都很好。它让我想起了CakePHP

我希望使用重构证明查询语言(以及其他一些东西:))

QueryDSL的使用将非常简单。它只需要EntityManager。 但是QueryDSL有这个APT类生成器(就像Hibernate for citeria API中的那个一样)


有人设法让这个类生成器与Play一起工作吗?是否可以重新创建和热重新加载这些类?

我没有Play方面的经验,但我知道以下方面设法在Play框架中使用Querydsl SQL:

他也许能帮助你。我不知道Querydsl与Play的任何其他集成。

我认为Play框架中注释处理的集成将对您有所帮助。设置APT处理很容易,但非常具体。看这张照片。不要忽略commands.py文件并更改org.eclipse.jdt.core-3.6.0.jar引用以匹配您的Play版本中使用的版本

我最近的所有项目都在Play框架中使用Querydsl。然而,我不使用JPA。我将自己的对象模型与Querydsl(而不是ORM)结合使用,以根据情况获得良好的拟合。我不需要使用Querydsl进行APT


我没有在Play和Querydsl之间创建任何紧密的集成,但我只是在每个控制器方法中使用了一些样板文件。总有一天我会编写一个合适的插件。

您可以检查更改数据库适配器(如Mongo)的现有模块,并执行类似于link QueryDSL的操作。如果它是一个模块,则应该可以使用Play hot重载。

我正在使用eclipse运行Play with querydsl。(见附件)

作为生成的源目录,我使用了app/,这意味着Q类将在与模型类相同的目录中生成,这不是最优的,但有效

将这些行添加到dependencies.yml

    - com.mysema.querydsl -> querydsl-jpa 2.2.3
    - com.mysema.querydsl -> querydsl-apt 2.2.3
    - log4j -> log4j 1.2.16
    - javassist -> javassist 3.12.1.GA

repositories:
    - queryDSL:
        type: iBiblio
        root: "http://source.mysema.com/maven2/releases/"
        contains:
            - com.mysema -> *           

然后使用
playdependencies--sync
playdeclipsify
在eclipse中重新打开项目,它应该可以工作了

我浏览了playdlombok模块的源代码。Querydsl不需要javaagent等。它需要使用一些参数运行Java编译器来生成带有APT的源代码文件。这个javaagent是否配置了APT?到处都找不到。“使用Querydsl的自有对象模型”是指使用com.mysema.query.sql.SQLQuery查询?你有公开的例子吗?你已经关掉了hibernate?周末我会给你举一些例子。是的,JPA和Hibernate被完全关闭。这是它重新生成Q。。上课?