java - playframework 使用 find 和 IN 以及模型列表

标签 java hibernate playframework playframework-1.x

我在 play (1.2.4) 中编写的以下代码有问题:

List<MSprache> sprachen = MSprache.find("active = ?", true).fetch();
List<MFieldDscr> textey     = MFieldDscr.find("sprache IN", sprachen).fetch();

如果我执行测试这部分代码的测试,则会显示以下错误:

A java.lang.IllegalArgumentException has been caught, org.hibernate.hql.ast.QuerySyntaxException: unexpected token: null near line 1, column 48 [from models.Sprache.MFieldDscr where sprache IN]

我不明白错误在哪里。

最佳答案

我不太确定你想要实现什么目标,
但我认为这就是你想要的:

String jpql = "FROM MFieldDescr fd WHERE fd.sprache "
            + "IN ( SELECT s FROM MSprache s WHERE s.active = ? ) ";
List<MFieldDscr> textey = MFieldDescr.find( jpql, true ).fetch();

这将找到所有 MFieldDecr 实体,其 MSprache 的 Activity 设置为 true

<小时/>

顺便说一句,用于查询实体的语言是 JPQL,如果您想了解更多信息的话。

以下是一些有用的链接:

关于java - playframework 使用 find 和 IN 以及模型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10572679/

相关文章:

java - akka 记录死信 - 为什么是 INFO?我希望它是错误

java - 使用 Retrofit Android 发送 ArrayList<String> 作为一部分

java - 客户端上的 Java 服务器与 Javascript 之间的套接字通信

java - 与通过 android studio 安装相比,作为 APK 安装时,Retrofit 的行为不同且无法解析

java - 将 spring oauth db 从内存迁移到 jdbc

java - 在什么情况下我需要提供 spring 类名称作为 bean id 值?

hibernate - 如何使域实例关联无效/刷新?

java - JPA @SequenceGenerator 注释如何工作

java - 什么会导致 Play 模块被加载两次?

java - 在weblogic上部署play框架