Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.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
Java 在JOOQ中带有列表的IN谓词只返回第一个值_Java_Sql_Jooq - Fatal编程技术网

Java 在JOOQ中带有列表的IN谓词只返回第一个值

Java 在JOOQ中带有列表的IN谓词只返回第一个值,java,sql,jooq,Java,Sql,Jooq,我有一个简单的select in JOOQ和in(List)谓词,但是这个查询的结果只针对列表中的第一个元素 List<Integer> ids = context.select(TABLE1.ID).from(TABLE1).where( TABLE1.NAME.eq(name)).fetch().into(Integer.class); List<MyObject> myObjectList = con

我有一个简单的select in JOOQ和in(List)谓词,但是这个查询的结果只针对列表中的第一个元素

        List<Integer> ids = context.select(TABLE1.ID).from(TABLE1).where(
                TABLE1.NAME.eq(name)).fetch().into(Integer.class);

        List<MyObject> myObjectList = context.selectFrom(TABLE2)
                .where(TABLE2.ID.in(ids))
                .fetch().into(MyObject.class);
List ID=context.select(TABLE1.ID).from(TABLE1).其中(
表1.NAME.eq(NAME)).fetch().into(Integer.class);
List myObjectList=context.selectFrom(表2)
.其中(表2.ID.in(ids))
.fetch().into(MyObject.class);
数据样本

第一个查询结果->列表ID={1,2,3,4}

表2内容-> MyObject(1,A), MyObject(2,B), MyObject(3,C), MyObject(4,D) ........., MyObject(21,Z)

第二个查询结果->MyObject(1,A)

已解决

问题是第一个查询语法

Field<Integer> ids = context.select(TABLE1.ID).from(TABLE1).where(
                TABLE1.NAME.eq(name)).asField();

List<MyObject> myObjectList = context.selectFrom(TABLE2)
                .where(TABLE2.ID.in(ids))
                .fetch().into(MyObject.class);
Field ID=context.select(TABLE1.ID).from(TABLE1).where(
表1.NAME.eq(NAME)).asField();
List myObjectList=context.selectFrom(表2)
.其中(表2.ID.in(ids))
.fetch().into(MyObject.class);

你能提供一些示例数据吗..好的,我已经编辑了帖子。这与问题无关,但我想我可以通过一个带有join而不是2的查询来完成。你确定你的事务确实有“table2内容”可用吗?@Varvarigos Emmanouil:我知道,但真正的查询很复杂,我尝试拆分以进行更好的调试