我在獲取Hibernate結果查詢中的實體的主鍵或Id時出現空指針異常。主鍵值只是一個很長的值。我的實體類:休眠結果中的空指針無法獲取long值
@Entity
@Table(name="sample")
public class ccy{
@Id
@column(name = "S_ID")
private long id;
2nd varibale and so on
當我寫Hibernate查詢檢索它會導致空指針異常,我選擇的查詢是:
long ID = 0;
String HQL = "select c.id from ccy c where c.name='sowndhar' ";
Query query = session.createQuery(HQL);
ID = (Long)query.uniqueResult(); //getting NullPointerException in this line
return ID;
任何建議PLZ?任何幫助將不勝感激
什麼是堆棧跟蹤? –
顯然,查詢必須爲空。所以你可能想檢查你的會話是否有錯誤。或者(因爲我不知道休眠):它可能是你首先必須執行您的查詢?你創建一個查詢似乎有點可疑;然後立即嘗試訪問其結果。此外:ccy對於一個班級來說是一個非常糟糕的名字。應該從大寫開始;和:不要縮寫。代碼存在需要閱讀;而這種縮寫不會說太多。 – GhostCat
在創建會話和開始交易的地方分享您的完整代碼。我懷疑你在會話中遇到了一些問題。另外一點我注意到,你期望得到一個沒有where子句的查詢的唯一結果。如果你的代碼工作並有多個記錄,那麼它會給你org.hibernate.NonUniqueResultException錯誤。同樣如前所述,您的命名慣例非常混亂。 – sAm