Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MySQL中具有hibernate条件的Orderby时间戳列API抛出错误_Java_Mysql_Hibernate - Fatal编程技术网

Java MySQL中具有hibernate条件的Orderby时间戳列API抛出错误

Java MySQL中具有hibernate条件的Orderby时间戳列API抛出错误,java,mysql,hibernate,Java,Mysql,Hibernate,我正在使用hibernate从MySQL数据库检索数据 @Transactional public List<PendingDomainEntity> listPendingDomain(int count, int offset) throws DaoException { try { Criteria listCriteria = sessionFactory.getCurrentSession().

我正在使用hibernate从MySQL数据库检索数据

    @Transactional
    public List<PendingDomainEntity> listPendingDomain(int count, int offset)
            throws DaoException {
        try {
            Criteria listCriteria = sessionFactory.getCurrentSession().createCriteria(PendingDomainEntity.class);
            listCriteria.addOrder(Order.asc("domaincreateddt"));
            listCriteria.setMaxResults(count);
            listCriteria.setFirstResult(offset);
            Criterion domainstatus = Restrictions.eq("domainstatus", "Pending").ignoreCase();
            listCriteria.add(domainstatus);
            @SuppressWarnings("unchecked")
            List<PendingDomainEntity> pendingDomainList = (List<PendingDomainEntity>) listCriteria.list();
            LOGGER.debug("Regg-Service: The pending domain list is:={}", pendingDomainList);
            return pendingDomainList;
        } catch (Exception ex) {
            LOGGER.error("Exception: Service: Error while retrieving the pending domains list");
            throw new DaoException(ex.getMessage(), Response.Status.INTERNAL_SERVER_ERROR);
        }
    }
我收到以下异常消息

could not resolve property: domaincreateddt of: mypackage.DTO.PendingDomainEntity

但是,当我使用不同的列名来表示订单时,效果很好。时间戳列上的order by是否有任何限制?

检查本文档中关于HQL的章节,同样适用于标准API:

除了Java类和属性的名称外,查询不区分大小写。所以SeLeCT与SeLeCT相同,但是org.hibernate.eg.FOO不是org.hibernate.eg.FOO,FOO.barSet不是FOO.barSet

这是JAVA名称:

private Timestamp domainCreatedDt;
这意味着,这是不一样的:

listCriteria.addOrder(Order.asc("domaincreateddt"));

简单地说,它必须是domainCreatedDt

它可能是区分大小写的吗?尝试domainCreateDdt或类似的方法来匹配您的gettername@Bohemian我试了所有的信盒。我还尝试了另一个列,该列具有时间戳数据类型,但不能正常工作。但是,当我尝试使用非时间戳列时,代码起作用了。请您将DomainPendingClass的定义与映射一起追加好吗?@JorgeGarita,很抱歉,我不理解。你想让我发布PendingDomainEntity类代码吗?我用DomainCreateDDT的声明代码更新了它。谢谢我觉得应该是真实的列名。很高兴看到。。。实际上,JAVA名称必须适合它们的映射。享受冬眠;
listCriteria.addOrder(Order.asc("domaincreateddt"));