connection proxy not usable after transaction comp

public class PlanDAOImpl extends GenericHibernateDAO<Plan, String> implements
		PlanDAO {
	private Logger logger = Logger.getLogger("MonthPlanDAOImpl");
	private QueryUtil query;

	public PlanDAOImpl() {
		query = new QueryUtil();
	}

	public int findByTime(String value,String groupid) {
		String hql = "from Plan where endtime>to_date('"+value+"','yyyy/mm/dd') and begintime<to_date('"+value+"','yyyy/mm/dd')";
		Query hquery = getSession().createQuery(hql);
		//hquery.setParameter("month", value);
		return hquery.list().size();
	}

	// 任务线段及点
	public List<TreeNode> getLines(String linelevel, String patrolgroupid)
			throws Exception {
		String sql = "select sublineid id,sublinename name from sublineinfo s,lineinfo l where l.lineid = s.lineid and s.state !="+SysConstant.STATE_DEL+" and l.linelevel ='"
				+ linelevel + "' and s.patrolgroupid='" + patrolgroupid + "' ";
		logger.info("getModuleMenu:" + sql);
		//if (query == null)
		//query = new QueryUtil();
		List<TreeNode> lines = new ArrayList<TreeNode>();
		List<BasicDynaBean> linesBean = query.queryBeans(sql);
		for (BasicDynaBean bean : linesBean) {
			TreeNode node = new TreeNode();
			String ID = (String) bean.get("id");
			String Name = (String) bean.get("name");
			node.setID(ID);
			node.setName(Name);
			node.setSon(getPoints(ID));// 获得线段上的点
			lines.add(node);
		}
		return lines;
	}

	// 获得线段上的点
	private List<TreeNode> getPoints(String id) throws Exception {
		String sql = "select pointname name,pointid id from pointinfo where sublineid='"
				+ id + "' order by inumber";
		//query = new QueryUtil();
		List<TreeNode> points = new ArrayList<TreeNode>();
		List<BasicDynaBean> beanPoints = query.queryBeans(sql);
		for (BasicDynaBean bean : beanPoints) {
			TreeNode node = new TreeNode();
			String ID = (String) bean.get("id");
			String Name = (String) bean.get("name");
			node.setID(ID);
			node.setName(Name);
			points.add(node);
		}
		return points;
	}

注意QueryUtil对象创建的位置。
public class PlanDAOImpl extends GenericHibernateDAO<Plan, String> implements
		PlanDAO {
	private Logger logger = Logger.getLogger("MonthPlanDAOImpl");
	private QueryUtil query;

	public PlanDAOImpl() {
		
	}

	public int findByTime(String value,String groupid) {
		String hql = "from Plan where endtime>to_date('"+value+"','yyyy/mm/dd') and begintime<to_date('"+value+"','yyyy/mm/dd')";
		Query hquery = getSession().createQuery(hql);
		//hquery.setParameter("month", value);
		return hquery.list().size();
	}

	// 任务线段及点
	public List<TreeNode> getLines(String linelevel, String patrolgroupid)
			throws Exception {
		String sql = "select sublineid id,sublinename name from sublineinfo s,lineinfo l where l.lineid = s.lineid and s.state !="+SysConstant.STATE_DEL+" and l.linelevel ='"
				+ linelevel + "' and s.patrolgroupid='" + patrolgroupid + "' ";
		logger.info("getModuleMenu:" + sql);
		//if (query == null)
		query = new QueryUtil();
		List<TreeNode> lines = new ArrayList<TreeNode>();
		List<BasicDynaBean> linesBean = query.queryBeans(sql);
		for (BasicDynaBean bean : linesBean) {
			TreeNode node = new TreeNode();
			String ID = (String) bean.get("id");
			String Name = (String) bean.get("name");
			node.setID(ID);
			node.setName(Name);
			node.setSon(getPoints(ID));// 获得线段上的点
			lines.add(node);
		}
		return lines;
	}

	// 获得线段上的点
	private List<TreeNode> getPoints(String id) throws Exception {
		String sql = "select pointname name,pointid id from pointinfo where sublineid='"
				+ id + "' order by inumber";
		query = new QueryUtil();
		List<TreeNode> points = new ArrayList<TreeNode>();
		List<BasicDynaBean> beanPoints = query.queryBeans(sql);
		for (BasicDynaBean bean : beanPoints) {
			TreeNode node = new TreeNode();
			String ID = (String) bean.get("id");
			String Name = (String) bean.get("name");
			node.setID(ID);
			node.setName(Name);
			points.add(node);
		}
		return points;
	}

你可能感兴趣的:(sql,bean)