好吧,所以我仍然有點Java和休眠的新手,我試圖搜索一個問題/答案設置在我的數據庫中,我可以拉起來該設置就好,如果我輸入的確切問題,但是當我使用類似的運算符沒有任何作用,我真的不知道該怎麼做。我只是在尋找這個問題,而且它與答案是同一個對象的一部分,所以我也只是提出了答案。像運營商不工作,使用彈簧MVC和休眠
這是我在我的QuestionAnswerDao代碼
public QuestionAnswerSet getQuestionAnswerSetByQuestion(String question)
{
Session session = (Session) em.getDelegate();
return (QuestionAnswerSet) session.createCriteria(QuestionAnswerSet.class).add(Restrictions.eq("question", "%"+question+"%")).uniqueResult();
}
而且這是我在我的控制器
@RequestMapping(value="search", method=RequestMethod.GET)
public String searchGet (ModelMap model, HttpServletRequest request)
{
SearchForm searchForm = new SearchForm();
model.put("searchForm", searchForm);
return "app/search";
}
@RequestMapping(value="search", method=RequestMethod.POST)
public String searchPost (@ModelAttribute("searchForm") SearchForm searchForm, ModelMap model, HttpServletRequest request)
{
QuestionAnswerSet questionAnswerSetByQuestion = questionAnswerDao.getQuestionAnswerSetByQuestion(searchForm.getSearchString());
model.put("searchResult", questionAnswerSetByQuestion);
return "app/search";
}
代碼如果有人可以幫助我這個這將是巨大的,謝謝。
謝謝,這很好。我只是將我的代碼更改爲Restrictions.like。你也是正確的關於拋出異常的「uniqueResult」。我拿出了「uniqueResult」代碼,現在我找不到任何作品。你有什麼建議嗎?這是我的代碼現在看起來像'return(QuestionAnswerSet)session.createCriteria(QuestionAnswerSet.class).add(Restrictions.like(「question」,「%」+ question +「%」));' – dochsner
其實這是一個問題我的jsp我想,我沒有交流:forEach循環 – dochsner
是的,你需要說「forList()」,然後處理返回類型作爲列表類型。最後,您可以檢查列表中是否有多個零件,然後只返回最後一個(如果您確定它將是您想要的零件)。 –