【问题标题】:cannot find symbol on a basic service在基本服务上找不到符号
【发布时间】:2016-06-29 09:59:14
【问题描述】:

我在添加新方法时遗漏了一些东西,但我不知道是什么??它在 userDAO.countUsers 行中生成找不到符号编译错误:

@Autowired
private UserDAO userDAO;

    @Async
private Future<Long> searchCount(MultiValueMap<String, String> parameters) throws DaoException {


   userDAO.countUsers("bla bla");


    return new AsyncResult<Long>(Long.getLong("1")); // temp code
}

这里是服务接口:

public interface UserDAO {

long countUsers(String bloblo) throws DaoException;

这是实现:

    @Service("userDAO")
    @SuppressWarnings("unchecked")
    @Transactional(readOnly = true, timeout = Constants.TRANSACTION_TIMEOUT, propagation = Propagation.SUPPORTS)
    public class UserDaoImpl implements UserDAO {

@PersistenceContext
private EntityManager em;

   @Override
    public long countUsers(String bloblo) throws DaoException {
        // Build request
        final QueryCriteria qc = new QueryCriteria(bloblo);

        final StringBuilder request = prepareQuery(qc);
        request.replace(7, 21, "count(distinct user)");
        final Query query = em.createQuery(request.toString());

        // Build parameters
        addParameters(query, qc);

        // Execute
        try {
            return (Long) query.getSingleResult();
        } catch (final RuntimeException e) {
            LOG.error(e.getMessage(), e);
            throw new DaoException(e);
        }
    }

非常感谢您的帮助!

【问题讨论】:

  • 我希望您调用 UserDAO.countUsers 的参数与接口中声明的参数类型不匹配。您需要遍历调用它的每个参数,并确保它属于接口中定义的类型
  • 我这样做了。我什至尝试使用一个唯一参数创建一个新方法 count(Long),但我遇到了同样的错误。

标签: java spring dao


【解决方案1】:

确保您确实从 userDAO.countUsers() 调用(LanguageCode、UserType、UserRightOrder)导入了类。 也许你应该粘贴你的错误信息?

【讨论】:

    【解决方案2】:

    可能是你没有在行中声明变量em

    em.createQuery(request.toString());
    

    【讨论】:

      【解决方案3】:

      这是我的 maven 版本 (3.0.5) 与 JDK1.7 有问题的问题。我升级到 3.3.x 版本,现在可以使用了。

      感谢:

      maven "cannot find symbol" message unhelpful

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-16
        相关资源
        最近更新 更多