【Java】Hibernate积累

文章目录

      • 一、经验总结
        • 1.在hql中使用in语句

一、经验总结

1.在hql中使用in语句

由于在hql中使用参数绑定时,会去检查绑定的参数类型是否与实际一致,比如:

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

你可能感兴趣的:(Java,Mysql,经验之谈)