【Java】Hibernate積累

一、經驗總結

1.在hql中使用in語句

由於在hql中使用參數綁定時,會去檢查綁定的參數類型是否與實際一致,比如:

	@Override
	public List<MaterialDetail> findByName(String name,String officeIds){
		String queryString = "FROM MaterialDetail WHERE name = ? and officeId in (?)";
		return findList(queryString, name,officeIds );
	}

由於officeId在實體類中定義爲Integer類型,此處傳入String類型的officeIds會報類型轉換異常。

解決方法如下:

	@Override
	public List<MaterialDetail> findByName(String name,String officeIds){
		String queryString = "FROM MaterialDetail WHERE name = ? and officeId in ("+officeIds+")";
		return findList(queryString, name );
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章