0
我有一個實體(StockKeepingUnit)與NamedNativeQuery:獲取Integer.class作爲結果NamedNativeQuery
@NamedNativeQuery(name = StockKeepingUnit.NQ_FINDBY_ARTICLE_AND_SIZE, resultClass = StockKeepingUnit.class, hints = {
@QueryHint(name = "org.hibernate.cacheable", value = "false"),
@QueryHint(name = "org.hibernate.fetchSize", value = "1"),
@QueryHint(name = "org.hibernate.readOnly", value = "true") }, query = "SELECT * "
+ "FROM StockKeepingUnit sku " + "WHERE sku.article = :articleNumber "
+ "AND sku.size = :size " + "AND sku.deleted = 0")
調用Java中:
Query query = em.createNamedQuery(StockKeepingUnit.NQ_FINDBY_ARTICLE_AND_SIZE);
query.setParameter(StockKeepingUnit.NQ_PARAM_ARTICLE_NR, articleNumber);
query.setParameter(StockKeepingUnit.NQ_PARAM_SIZE, size);
return (StockKeepingUnit) query.getSingleResult();
與此查詢我只想選擇sku.stockKeepingUnitNumber並在執行此查詢時得到一個Integer-Value作爲結果。
我想這樣的事情,但這並沒有工作...
@NamedNativeQuery(name = StockKeepingUnit.NQ_FINDBY_ARTICLE_AND_SIZE, resultClass = Integer.class, hints = {
@QueryHint(name = "org.hibernate.cacheable", value = "false"),
@QueryHint(name = "org.hibernate.fetchSize", value = "1"),
@QueryHint(name = "org.hibernate.readOnly", value = "true") }, query = "SELECT sku.stockKeepingUnitNumber "
+ "FROM StockKeepingUnit sku " + "WHERE sku.article = :articleNumber "
+ "AND sku.size = :size " + "AND sku.deleted = 0")
調用Java中:
Query query = em.createNamedQuery(StockKeepingUnit.NQ_FINDBY_ARTICLE_AND_SIZE);
query.setParameter(StockKeepingUnit.NQ_PARAM_ARTICLE_NR, articleNumber);
query.setParameter(StockKeepingUnit.NQ_PARAM_SIZE, size);
return (Integer) query.getSingleResult();
任何人可以幫助我嗎?
爲什麼不工作?你有沒有得到一些例外? –