Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 如何将对象数组发送到需要;id";在所有对象中。_Java_Arrays_Jpa - Fatal编程技术网

Java 如何将对象数组发送到需要;id";在所有对象中。

Java 如何将对象数组发送到需要;id";在所有对象中。,java,arrays,jpa,Java,Arrays,Jpa,我正在根据从jsp页面中的多选择表单元素接收到的信息构建一个报告 在我的repository类中,我从该元素获得一个对象数组。我需要为每个对象调用getId函数,并将这些id发送到NamedQuery 下面是一个代码示例来帮助解释。我知道如何处理单个对象,但对于一组对象,我在.setParameter(1,employees[].getId())部分迷失了方向 public List<RequestByRequester> getFormInformation(

我正在根据从jsp页面中的多选择表单元素接收到的信息构建一个报告

在我的repository类中,我从该元素获得一个对象数组。我需要为每个对象调用
getId
函数,并将这些id发送到
NamedQuery

下面是一个代码示例来帮助解释。我知道如何处理单个对象,但对于一组对象,我在
.setParameter(1,employees[].getId())
部分迷失了方向

    public List<RequestByRequester> getFormInformation(
        Employee[] employees) 
        throws NoDataFoundException {

        List<RequestByRequester> resultList = getEm().createNamedQuery(
                "requestByRequestor.getRequestsByRequesters", RequestByRequester.class)
                .setParameter(1, employees[].getId())
                .getResultList();

        return resultList;
    }

我试着打电话给Mystique夫人,希望她能帮我找出你的问题到底是什么,但运气不好,所以我只想试试

您的命名查询应如下所示:

select x
from MyClass x
where x.children.id in (:ids)
然后把你的身份证写进一个列表

List<Integer> ids = new ArrayList<Integer>();
ids.add(someid);  // etc

我试着打电话给Mystique夫人,希望她能帮我找出你的问题到底是什么,但运气不好,所以我只想试试

您的命名查询应如下所示:

select x
from MyClass x
where x.children.id in (:ids)
然后把你的身份证写进一个列表

List<Integer> ids = new ArrayList<Integer>();
ids.add(someid);  // etc

“namedQueries.queryName”看起来像什么?也许你可以做一个“in”并给它一个ID列表?这个问题实际上是一个JPA问题,而不是Spring问题,不是吗?@bkent314我可以把实际的查询名称放在一个字符串上。我只是想让它不那么混乱,但似乎我实现了相反的目标。我对java/jpa/spring非常陌生,认为这是一个与spring相关的问题。对不起^ ^没问题!信息越多越好。波希米亚人给了你一个很好的答案,“namedQueries.queryName”是什么样子的?也许你可以做一个“in”并给它一个ID列表?这个问题实际上是一个JPA问题,而不是Spring问题,不是吗?@bkent314我可以把实际的查询名称放在一个字符串上。我只是想让它不那么混乱,但似乎我实现了相反的目标。我对java/jpa/spring非常陌生,认为这是一个与spring相关的问题。对不起^ ^没问题!信息越多越好。波希米亚人给了你一个很好的答案,我想我明白了。我正在考虑做类似的事情,但是通过employee数组将ID附加到字符串并将该字符串作为参数发送,从而为每个人执行一个for。你的干净多了。非常感谢。我知道这很旧,但我不明白
x.children.id
是如何工作的。是否也要执行此操作:
从myClass中选择*,其中myClass.theColumn不在(:ListofNumber stoExclude)
?谢谢@HQL
x.children.id
中的shanehoban为您加入
children
映射到
getChildren()
,它返回一组具有对
x
的外键引用的实体。整个HQL查询相当于
select x.*from MyTable x join ChildTable c on c.myTableId=x.id,其中c.id位于(:id)
。外键信息在子类的
getMyClassId()
方法上的
@ManyToOne
注释中定义。是
不在(:id)
中也起作用。顺便说一句,在原生HQL中,所有引用的表都必须有别名,因此,
从myClass t中选择t,其中…
选择
是可选的,因此,
从myClass t中选择…
可以工作,我想我理解。我正在考虑做类似的事情,但是通过employee数组将ID附加到字符串并将该字符串作为参数发送,从而为每个人执行一个for。你的干净多了。非常感谢。我知道这很旧,但我不明白
x.children.id
是如何工作的。是否也要执行此操作:
从myClass中选择*,其中myClass.theColumn不在(:ListofNumber stoExclude)
?谢谢@HQL
x.children.id
中的shanehoban为您加入
children
映射到
getChildren()
,它返回一组具有对
x
的外键引用的实体。整个HQL查询相当于
select x.*from MyTable x join ChildTable c on c.myTableId=x.id,其中c.id位于(:id)
。外键信息在子类的
getMyClassId()
方法上的
@ManyToOne
注释中定义。是
不在(:id)
中也起作用。顺便说一句,在原生HQL中,所有引用的表都必须有一个别名,因此,
从myClass t中选择t,其中…
选择是可选的,因此,
从myClass t中选择…
也起作用