0
。...沒有子類,因此即使在數據庫中存在D1時,調用em.find(Department.class,「D1」)仍然返回空值,但未檢查數據存儲區
的調試日誌顯示消息: 唯一候選人的編號是com.ge.dsp.iwork.entity.Department並沒有子類,所以回來不檢查數據存儲
這是什麼意思?爲什麼它返回null?
然後我試圖使用
departmentId = emp.getDepartment().getDeptNo().trim();
Query query = em.createQuery("SELECT d FROM Department d WHERE
trim(d.deptNo) = :departmentId");
query.setParameter("departmentId", departmentId);
注:DepartmentID的是路過這裏參數之前已經修剪。
在日誌中打印的查詢是:
SELECT 'com.ge.dsp.iwork.entity.Department' AS
NUCLEUS_TYPE,D.DEPTNAME,D.DEPTNO,D.LOCATION,D.MGRNO FROM DEPARTMENT D WHERE D.DEPTNO =
<'D1'>
和返回0行。
當我修改查詢,以
departmentId = emp.getDepartment().getDeptNo().trim();
Query query = em.createQuery("SELECT d FROM Department d WHERE trim(d.deptNo) = :departmentId"); // 'D1'");
query.setParameter("departmentId", departmentId.trim());
注:DepartmentID的現在再次修剪,同時將其設置爲參數。
日誌文件顯示查詢爲:
SELECT 'com.ge.dsp.iwork.entity.Department' AS NUCLEUS_TYPE,D.DEPTNAME,D.DEPTNO,D.LOCATION,D.MGRNO FROM DEPARTMENT D WHERE D.DEPTNO = 'D1'
,並返回從DB的實體。
這是爲什麼? datanuclueus何時在參數中添加尖括號<>?
請指點
感謝,