0

昨天,我將我的NHibernate應用程序從1.2升級到3.0。我得到以下例外升級到NHibernate 3.0.0.1002,表未映射

c.SubContractors is not mapped [SELECT count(distinct c) FROM CallUp c, c.SubContractors sc Where sc.id = :id AND c.ChildCallUp IS NULL AND c.State > 0 AND (:start_date BETWEEN c.ContractStartDate AND c.ContractEndDate OR :end_date BETWEEN c.ContractStartDate AND c.ContractEndDate)] 

我似乎無法解決此問題...任何建議?

回答

0

HQL語法不正確。使用方法:

SELECT count(distinct c) 
FROM CallUp c JOIN c.SubContractors sc 
WHERE sc.id = :id 
AND c.ChildCallUp IS NULL 
AND c.State > 0 
AND (:start_date BETWEEN c.ContractStartDate AND c.ContractEndDate 
    OR :end_date BETWEEN c.ContractStartDate AND c.ContractEndDate) 
+0

是的,你說得對!用JOIN所有工作取代了逗號。我猜這個語法自從NHibernate 3 – NHibernateNoobulator 2010-09-30 15:43:45

+0

以來已經發生了變化其實,這個變化可能發生在NH 2.x – 2010-09-30 15:49:18