ssh框架启动tomcat提示异常
ssh框架启动tomcat提示错误
Invalid property 'target' of bean class [com.comm.BaseDAOImpl]:Bean property 'target' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
提示我这个错误,我这个BaseDAOImpl.java代码如下:
Invalid property 'target' of bean class [com.comm.BaseDAOImpl]:Bean property 'target' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
提示我这个错误,我这个BaseDAOImpl.java代码如下:
- Java code
package com.comm; //包省略 @SuppressWarnings("unchecked") public class BaseDAOImpl<T, PK extends Serializable> extends HibernateDaoSupport implements BaseDAO<T, PK> { private final static Logger logger = Logger.getLogger(BaseDAOImpl.class); protected Class<T> clazz; public BaseDAOImpl() { } public BaseDAOImpl(Class<T> clazz) { this.clazz = clazz; } public PK create(T o) { return (PK) this.getHibernateTemplate().save(o); } public void create(T o, Serializable pk) { this.getHibernateTemplate().save((String)o, pk); } public void save(T o) { this.getHibernateTemplate().saveOrUpdate(o); } public T find(PK id) { Object o = this.getHibernateTemplate().load(clazz, id); return (T) o; } public T get(PK id) { Object o = this.getHibernateTemplate().get(clazz, id); return (T) o; } public void update(T o) { this.getHibernateTemplate().update(o); } public void delete(PK id) { getHibernateTemplate().delete(find(id)); } public void delete(T o) { this.getHibernateTemplate().delete(o); } public void deleteAll(Collection<T> entities) { getHibernateTemplate().deleteAll(entities); } public List<T> list() { return this.getHibernateTemplate().loadAll(clazz); } /** * 去除select 子句,未考虑union的情况 */ private static String removeSelect(String hql) { Assert.hasText(hql); int beginPos = hql.toLowerCase().lastIndexOf("from"); Assert.isTrue(beginPos != -1, " hql : " + hql + " must has a keyword 'from'"); return hql.substring(beginPos); } /** * 去除select 子句,未考虑union的情况 */ private static String removeFirstSelect(String hql) { Assert.hasText(hql); int beginPos = hql.toLowerCase().indexOf("from"); Assert.isTrue(beginPos != -1, " hql : " + hql + " must has a keyword 'from'"); return hql.substring(beginPos); } /** * 去除orderby 子句 */ private static String removeOrders(String hql) { Assert.hasText(hql); Pattern p = Pattern.compile("order\\s*by[\\w|\\W|\\s|\\S]*", Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(hql); StringBuffer sb = new StringBuffer(); while (m.find()) { m.appendReplacement(sb, ""); } m.appendTail(sb); return sb.toString(); } public Object getObject(String hql){ Query query = getSession().createQuery(hql); List list = query.list(); if(list == null || list.size() <= 0){ return null; } return list.get(0); } public List list(String hql, int topNumber, Object... args) { Assert.hasText(hql); Query query = getSession().createQuery(hql); for (int i = 0; i < args.length; i++) { query.setParameter(i, args[i]); } query.setMaxResults(topNumber); return (List) query.list(); } public List list(String hql, Object... args) { return this.list(hql, new Pager(), args); } public List listBySQL(String sql, String alias, Class clazz, Object... args) { return this.listBySQL(sql, new Pager(), alias, clazz, args); } public List listBySQL(String sql, Object[] args) { Query sqlQuery = getSession().createSQLQuery(sql); if (args != null) { for (int i = 0; i < args.length; i++) { sqlQuery.setParameter(i, args[i]); } } return sqlQuery.list(); } public List listBySQL2(String sql, Pager pager, String alias, Class clazz, Object... args) { Assert.hasText(sql); SQLQuery query = getSession().createSQLQuery(sql); for (int i = 0; i < args.length; i++) { query.setParameter(i, args[i]); } if (pager == null || pager.getPageNumber() == 0) { return query.addEntity(alias, clazz).list(); } // 取总数 String countQueryString = "select count(*) from " + "(select * " + removeFirstSelect(removeOrders(sql)) + ") temp_count"; Query queryCount = getSession().createSQLQuery(countQueryString); for (int i = 0; i < args.length; i++) { queryCount.setParameter(i, args[i]); } List countlist = queryCount.list(); int totalCount = ((BigDecimal) countlist.get(0)).intValue(); pager.setTotalObjects(totalCount); pager.calc(); query.setFirstResult(pager.getFirstResult()); query.setMaxResults(pager.getPageSize()); return query.addEntity(alias, clazz).list(); } public List listBySQL(String sql, Pager pager, String alias, Class clazz, Object... args) { Assert.hasText(sql); SQLQuery query = getSession().createSQLQuery(sql); for (int i = 0; i < args.length; i++) { query.setParameter(i, args[i]); } if (pager == null || pager.getPageNumber() == 0) { return query.addEntity(alias, clazz).list(); } // 取总数 String countQueryString = "select count(*) from " + "(select * " + removeSelect(removeOrders(sql)) + ") temp_count"; Query queryCount = getSession().createSQLQuery(countQueryString); for (int i = 0; i < args.length; i++) { queryCount.setParameter(i, args[i]); } List countlist = queryCount.list(); int totalCount = ((BigDecimal) countlist.get(0)).intValue(); pager.setTotalObjects(totalCount); pager.calc(); query.setFirstResult(pager.getFirstResult()); query.setMaxResults(pager.getPageSize()); return query.addEntity(alias, clazz).list(); } public List list(String hql, Pager pager, Object... args) { Query query = getSession().createQuery(hql); for (int i = 0; i < args.length; i++) { query.setParameter(i, args[i]); } if (pager == null || pager.getPageNumber() == 0) { return (List) query.list(); } // 取总数 String countQueryString = " select count (*) " // + removeSelect(removeOrders(hql)); + removeFirstSelect(hql); List countlist = getHibernateTemplate().find(countQueryString, args); int totalCount = (countlist != null && countlist.size() > 0) ? (Integer) countlist.get(0) : 0; pager.setTotalObjects(totalCount); pager.calc(); query.setFirstResult(pager.getFirstResult()); query.setMaxResults(pager.getPageSize()); return (List) query.list(); } public List listByNamedQuery(String queryName, String[] argNames, Object[] argValues) { return this.getHibernateTemplate().findByNamedQueryAndNamedParam( queryName, argNames, argValues); } public void saveAll(Collection<T> entities) { this.getHibernateTemplate().saveOrUpdateAll(entities); } }