这是AppRoleDao public abstract interface AppRoleDao extends BaseDao<AppRole> { public abstract AppRole getByRoleName(String paramString); public abstract HashMap<String, Set<String>> getSecurityDataSource(); }
这两个都实现了,must implement the inherited abstract method 后面有没有报什么方法名?
BaseDao这个类是抽象类吧,这个里面的方法都实现了么?
错误: The type AppRoleDaoImpl must implement the inherited abstract method GenericDao<AppRole,Long>.get(Long) AppRoleDaoImpl.java /joffice/src/com/htsoft/oa/dao/system/impl line 24 Java Problem
public abstract interface AppRoleDao extends BaseDao<AppRole>
{
public abstract AppRole getByRoleName(String paramString); public abstract HashMap<String, Set<String>> getSecurityDataSource();
}
The type AppRoleDaoImpl must implement the inherited abstract method GenericDao<AppRole,Long>.get(Long) AppRoleDaoImpl.java /joffice/src/com/htsoft/oa/dao/system/impl line 24 Java Problem
implements GenericDao<T, PK>
{ protected Log logger;
protected JdbcTemplate jdbcTemplate;
protected Class persistType;
protected Map querys; public void setJdbcTemplate(JdbcTemplate jdbcTemplate)
{
this.jdbcTemplate = jdbcTemplate;
} public void setPersistType(Class persistType)
{
this.persistType = persistType;
} public GenericDaoImpl(Class persistType)
{
logger = LogFactory.getLog(GenericDaoImpl.class);
querys = new HashMap();
this.persistType = persistType;
} public Object get(Serializable id)
{
return getHibernateTemplate().get(persistType, id);
} public Object save(Object entity)
{
getHibernateTemplate().saveOrUpdate(entity);
return entity;
} public Object merge(Object entity)
{
getHibernateTemplate().merge(entity);
return entity;
} public void evict(Object entity)
{
getHibernateTemplate().evict(entity);
}
public List find(final String queryString, final Object[] values, final int firstResult, final int pageSize) {
return (List)this.getHibernateTemplate().execute((HibernateCallback)new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query queryObject = session.createQuery(queryString);
if (values != null) {
for (int i = 0; i < values.length; ++i) {
queryObject.setParameter(i, values[i]);
}
}
if (pageSize <= 0) return queryObject.list();
queryObject.setFirstResult(firstResult).setMaxResults(pageSize).setFetchSize(pageSize);
return queryObject.list();
}
});
}
public List getAll() {
return (List)this.getHibernateTemplate().execute((HibernateCallback)new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
String hql = "from " + GenericDaoImpl.this.persistType.getName();
Query query = session.createQuery(hql);
return query.list();
}
});
} public List getAll(final PagingBean pb) {
final String hql = "from " + this.persistType.getName();
int totalItems = this.getTotalItems(hql, null).intValue();
pb.setTotalItems(totalItems);
return (List)this.getHibernateTemplate().execute((HibernateCallback)new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery(hql);
query.setFirstResult(pb.getFirstResult()).setFetchSize(pb.getPageSize().intValue());
query.setMaxResults(pb.getPageSize().intValue());
return query.list();
}
});
} public Long getTotalItems(String queryString, final Object[] values) {
int orderByIndex = queryString.toUpperCase().indexOf(" ORDER BY ");
if (orderByIndex != -1) {
queryString = queryString.substring(0, orderByIndex);
}
QueryTranslatorImpl queryTranslator = new QueryTranslatorImpl(queryString, queryString, Collections.EMPTY_MAP, (SessionFactoryImplementor)this.getSessionFactory());
queryTranslator.compile(Collections.EMPTY_MAP, false);
final String sql = "select count(*) as c from (" + queryTranslator.getSQLString() + ") tmp_count_t";
Object reVal = this.getHibernateTemplate().execute((HibernateCallback)new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
SQLQuery query = session.createSQLQuery(sql);
if (values == null) return query.uniqueResult();
for (int i = 0; i < values.length; ++i) {
query.setParameter(i, values[i]);
}
return query.uniqueResult();
}
});
return new Long(reVal.toString());
} public List findByHql(final String hql, final Object[] objs) {
return (List)this.getHibernateTemplate().execute((HibernateCallback)new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery(hql);
if (objs == null) return query.list();
for (int i = 0; i < objs.length; ++i) {
query.setParameter(i, objs[i]);
}
return query.list();
}
});
} public List findByHql(final String hql, final Object[] objs, final int firstResult, final int pageSize) {
return (List)this.getHibernateTemplate().execute((HibernateCallback)new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery(hql);
query.setFirstResult(firstResult).setMaxResults(pageSize);
if (objs == null) return query.list();
for (int i = 0; i < objs.length; ++i) {
query.setParameter(i, objs[i]);
}
return query.list();
}
});
}
public List findByHql(String hql, Object[] objs, PagingBean pb) {
int totalItems = this.getTotalItems(hql, objs).intValue();
pb.setTotalItems(totalItems);
return this.findByHql(hql, objs, pb.getFirstResult(), pb.getPageSize());
}
public List find(String hql, Object objs[], PagingBean pb)
{
int totalItems = getTotalItems(hql, objs).intValue();
pb.setTotalItems(totalItems);
return find(hql, objs, pb.getFirstResult(), pb.getPageSize().intValue());
} public List findByHql(String hql)
{
return findByHql(hql, null);
} public void remove(Serializable id)
{
getHibernateTemplate().delete(get(id));
} public void remove(Object entity)
{
getHibernateTemplate().delete(entity);
} public Object findUnique(final String hql, final Object[] values) {
return this.getHibernateTemplate().execute((HibernateCallback)new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery(hql);
if (values == null) return query.uniqueResult();
for (int i = 0; i < values.length; ++i) {
query.setParameter(i, values[i]);
}
return query.uniqueResult();
}
});
}
public int getCountByFilter(final QueryFilter filter) {
Integer count = (Integer)this.getHibernateTemplate().execute((HibernateCallback)new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria criteria = session.createCriteria(GenericDaoImpl.this.persistType);
for (int i = 0; i < filter.getCommands().size(); ++i) {
CriteriaCommand command = (CriteriaCommand)filter.getCommands().get(i);
if (!(command instanceof SortCommandImpl))
criteria = command.execute(criteria);
}
criteria.setProjection(Projections.rowCount());
return criteria.uniqueResult();
}
});
if (count != null) return count;
return new Integer(0);
}
public List getAll(final QueryFilter queryFilter) {
if (StringUtils.isNotEmpty((String)queryFilter.getFilterName())) {
return this.getAll2(queryFilter);
}
int totalCounts = this.getCountByFilter(queryFilter);
queryFilter.getPagingBean().setTotalItems(totalCounts);
if (queryFilter.getSearchAll()) {
queryFilter.getPagingBean().setStart(0);
queryFilter.getPagingBean().setPageSize(totalCounts);
}
List resultList = (List)this.getHibernateTemplate().execute((HibernateCallback)new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria criteria = session.createCriteria(GenericDaoImpl.this.persistType);
queryFilter.getAliasSet().clear();
GenericDaoImpl.this.setCriteriaByQueryFilter(criteria, queryFilter);
return criteria.list();
}
});
if (!queryFilter.isExport()) return resultList;
SimpleDateFormat tempDate = new SimpleDateFormat("yyyyMMddhhmmssSSS");
String datetime = tempDate.format(new Date());
queryFilter.getRequest().setAttribute("fileName", (Object)datetime);
queryFilter.getRequest().setAttribute("__exportList", (Object)resultList);
return resultList;
} public List getAll2(QueryFilter queryFilter) {
String hql = ((String)this.querys.get(queryFilter.getFilterName())).trim();
String newHql = null;
String condition = null;
http://blog.csdn.net/tanyit/article/details/14523189