我是新來的這個。請幫幫我。Hiberante 3.0內部連接兩個不同的實體與forigen鍵
我上市控制器看起來是這樣的: @RequestMapping(value="/possalesList.htm",method=RequestMethod.GET) public String PosSalesList(@ModelAttribute("possales")PSales sales,@RequestParam(value = "salesItemID", required = false)Integer salesItemID,ModelMap model) { List<POSSalesItem> posSalesItemList = posSalesDao.listSalesItem(); model.addAttribute("possalesList", posSalesItemList);
return "possalesList"; }
我hibernateDaoimpl看起來是這樣的: @SuppressWarnings("unchecked") @Transactional(readOnly=true) public List<POSSalesItem> listSalesItem() { return (List<POSSalesItem>)getHibernateTemplate().find("select POSSales.posSalesId , POSSalesItem.itemName from POSSales inner join POSSalesItem on POSSales.posSalesId=POSSalesItem.posSalesId"); }
我內心的加入看起來像這樣: select POSSales.posSalesId , POSSalesItem.itemName from POSSales inner join POSSalesItem on POSSales.posSalesId=POSSalesItem.posSalesId
外鍵創建成功的MySQL的。
我在做什麼是我POSSalesId POSSales表和POSSalesItem其他列的posSalesId。爲此目的我寫了這個連接查詢,但它顯示一些錯誤。
我想要在列posSalesId內加盟,但是我得到這些錯誤:
org.springframework.orm.hibernate3.HibernateQueryException:意外的標記:在靠近1號線,列111 [選擇POSSales。 posSalesId,來自com.jewellery.entity.POSS的POSSalesItem.itemNamePOSales POSSales.posSalesId = POSSalesItem.posSalesId]上的內部連接POSSalesItem;嵌套的異常是org.hibernate.hql.ast.QuerySyntaxException:意外的標記:在第1列的第111列[選擇POSSales.posSalesId,來自com.jewellery.entity.POSS的POSSalesItem.itemName POSSales.posSalesId = POSSalesItem的內部連接POSSalesItem。 posSalesId] org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:660) org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) org.springframework.orm.hibernate3.HibernateTemplate .doExecute(HibernateTemplate.java:411) org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
如果您需要此幫助,您應該將實際的休眠代碼添加到您的帖子中,似乎您只發布了您生成的SQL –
您的問題無法閱讀。花些時間正確格式化。 –
@RasmusFranke可以幫助我...我已經發布了控制器和休眠部分。 – viquar