我有2個pojo。一個pojo表示一個視圖,即我的Oracle數據庫中的V_EMPLOYEE。
查看V_EMPLOYEE:不存在具有給定標識符的行
+----------+----------+
| ID | TEMP |
+----------+----------+
| 1 | 0 |
| 2 | 1 |
| 3 | 0 |
| 4 | 1 |
+----------+----------+
TEMP是類型的VARCHAR2(1)
的僱員POJO如下:
public class EmpPOJO {
private int ID;
private String Temp;
//getters and setters
}
我的另一個POJO表示表corr_comp_emp:
+----------+----------+----------+
| ID | ID_COM | ID_EMP |
+----------+----------+----------+
| 1 | 2 | 2 |
| 2 | 3 | 5 |
| 3 | 5 | 6 |
| 4 | 8 | 8 |
+----------+----------+----------+
pojo如下:
public class CorrComEmp {
private int ID;
private EmpPOJO Emp;
private ComPojo com;
//getters and setters
}
我使用得到CorrComEmp列表查詢是:
listE = session.createQuery("SELECT it FROM pojo.CorrComEmp as it, " + V_EMPLOYEE
+ " as vue WHERE vue.Id = it.Emp").list();
每當我的項目打上面的代碼,它就會出現以下錯誤:
No row with the given identifier exists: 5, of class: pojo.EmpPOJO
員工5存在於視圖V_EMPLOYEE中。我已經注意到,在將新屬性添加到Employee,TEMP後,我收到了此錯誤。 我已經嘗試通過休眠在corr_comp_emp表中插入日期,並且它可以正常工作。它只是檢索出現這個錯誤的數據。 任何想法我失蹤?自一週以來,我一直堅持這個概念。
你的問題很混亂。您的查詢選擇一個未知的實體ComEmp,但是您說它應該返回一個List。它使用未知的常量V_EMPLOYEE。沒有命名約定是受尊重的。請通過正確提供所有必要的詳細信息並選擇更好的命名來重新修正您的問題。例如,對於您的實體,「Employee」,「Company」和「Contract」有什麼問題?另外,你說ID 5的行存在,但你的表格截圖顯示它沒有。再次,非常混亂。 –