2016-05-17 1 views
0

Я застрял в следующем выпуске. Я попытался проследить, но не мог. Можете ли вы, ребята, оказать мне услугу, чтобы решить эту проблему.Преобразование типа из DAO в контроллер

В моем контроллере:

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 длинный тип. В DB для каждого externalTaxId мы передаем более 1000 записей.

Но когда я возвращаюсь из DAO в контроллер, есть несоответствие типа. Мне нужна пропитка Collection < Long> only.

StackTrace Ошибка:

/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

Какая ошибка, любой стек? – Helios

+0

Тип incompatabilty – yogesh

+0

/ExternalTaxManagerImpl.java:421: не может найти символ символ: метод getPropertyIdsByTaxId (java.lang.Long) местоположение: интерфейс com.orbitz.omh.property.das.svc.ExternalTaxDataService возвращение externalTaxDataService.getPropertyIdsByTaxId (externalTaxId); – yogesh

ответ

0
Long id = '1425652'; This is Invalid character constant 

изменения выше декларация ниже

Long id = 1425652l; 

Примечание: убедитесь, что вы держите «L» в конце номера, чтобы идентифицировать его как Long типа данных.

Смежные вопросы