我陷入了以下问题。我试图追查但不能。 你能帮我们帮忙解决这个问题。
在我的控制器中:
Long id = '1425652';
Collection<Long> propIds = externalTaxManager.getPropertyIdsByTaxId(id); // I have an issue here
Map<Long, Long> propIdToOnegIdMap = externalTaxManager.mapPropertiesToOnegIds(propIds);
在我的DaoImpl中:
public Collection<Long> getPropertyIdsByTaxId(Long externalTaxId){
SQLQuery query = currentSession().createSQLQuery("select b.OMH_PROPERTY_ID from OMH.OMH_EXTERNAL_TAX a , OMH.OMH_EXTERNAL_TAX_PROP_XREF b\n" +
"where a.OMH_EXTERNAL_TAX_ID=b.OMH_EXTERNAL_TAX_ID and a.OMH_EXTERNAL_TAX_ID= :externalTaxId ");
query.setParameter("externalTaxId", externalTaxId);
List<Long> result = query.list();
return result;
}
这里,b.OMH_PROPERTY_ID是长类型。对于我们传递的每个externalTaxId,DB中有超过1000条记录。
但是当我从DAO返回到Controller时,存在类型不匹配的问题。我需要propIds Collection&lt;龙&GT;仅
错误堆栈跟踪:
/ExternalTaxManagerImpl.java:421: cannot find symbol
symbol : method getPropertyIdsByTaxId(java.lang.Long)
location: interface com.orbitz.omh.property.das.svc.ExternalTaxDataService
return externalTaxDataService.getPropertyIdsByTaxId(externalTaxId);
提前致谢。
答案 0 :(得分:0)
Long id = '1425652'; This is Invalid character constant
将上述声明更改为
Long id = 1425652l;
注意:请确保将“l”保留在数字的末尾,以将其标识为Long数据类型。