我在SQL Server中有两个表:
表A
ID Num
11 tj55
4 tj40
表B
ID NUM A_ID
3 se400 4
5 se500 4
我有一个存储过程,它将返回B中所有相应行中的每一行,我有这个结果
NumA NumB
tj40 se400
tj40 se500
代码:
ALTER PROCEDURE [dbo].[Proc]
@param nvarchar(MAX),
AS
BEGIN
SELECT
aa.Num,
bb.Num
FROM
[dbo].[A] as aa
INNER JOIN
[dbo].[B] AS bb ON bb.A_ID = aa.ID
WHERE
aa.Num = @param
ORDER BY
aa.Num
END
我想在我的Java应用程序中使用JPA调用我的StoredProcedure来生成两行(我的目标是让List包含所有NumB(在本例中为'se400'和'se500')
StoredProcedureQuery query2 = em.createStoredProcedureQuery("Proc");
query2.registerStoredProcedureParameter("param", String.class,ParameterMode.IN);;
query2.setParameter("param", "tj40");
query2.execute();
List<Object> res = query2.getResultList();
for (int i=0; i<res.size(); i++){
System.out.println(res.get(i).toString());
}
它找到了两行,但它返回
[Ljava.lang.Object;@94814
[Ljava.lang.Object;@00856
你能帮帮我吗?
非常感谢你
答案 0 :(得分:0)
在我的应用程序中,我使用以下方式
List i1 = query2.getResultList();
while(i1.hasNext()){
Object[] object =(Object[]) i1.next();
//your rest code
//object[0] will contain numA and object[1] will contain numB
}