【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 );
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章