0
我想通過字符串列表作爲參數甲骨文通過列表
當從我的應用程序生成的你查詢我有這樣的SQL代碼:
SELECT * FROM Transfers TRANSFERS
LEFT OUTER JOIN correspondence_copy CORRESPCPY on CORRESPCPY.ID_COPY = TRANSFERS.ID_COPY
WHERE TRANSFERS.ORDERNBR in ('[236359981, 236359982, 236359983]')
這是源代碼java的,我使用的列表
public List<SupEntity> sendSup(List<String> listOrderNumber)
throws Exception {
String query_tr = " SELECT * ";
query_tr += " FROM Transfers TRANSFERS ";
query_tr +=" LEFT OUTER JOIN correspondence_copy CORRESPCPY on CORRESPCPY.ID_COPY = TRANSFERS.ID_COPY " ;
query_tr +=" WHERE TRANSFERS.ORDERNBR in ('" +listOrderNumber + "')";
SQLQuery sqlQuery = this.getSession().createSQLQuery(query_tr);
sqlQuery.setResultTransformer(Transformers.aliasToBean(
SupEntity.class));
List list = sqlQuery.list();
return list;
}
我把這個代碼這個梅索德:
public SupListEntity getsupList(
HttpServletRequest request,
SupListEntity supListEntity)
throws Exception {
List<String> list = new ArrayList<String>();
List<CorrespondenceEntity> sendsupList =new ArrayList<SupEntity>();
String [] tabOrder=null;
if(supListEntity.getId()!=null)
{
tabOrder=supListEntity.getId().split(",");
if(tabOrder!=null && tabOrder.length>0)
{
for(int i=0;i<tabOrder.length;i++)
{
list.add(tabOrder[i]);
}
sendsupList = supDAO.sendSup(list);
supListEntity.setCorrespondenceList(sendsupList);
}
}
return supListEntity;
}
讓我的查詢這是generaed有這種代碼的問題:
在( '[236359981,236359982,236359983]')這是假的 它應該是這樣的 在(」 236359981' , '236359982', '236359983')