hibernate - 在 Hibernate 顺序标准中将字符串转换为 int

标签 hibernate

基本上,我的问题与此相同,但对于 Java (JBoss) Hibernate:How can we order a column as int using hibernate criteria API?

我想通过从字符串列转换为 int 来创建订单限制。就像是

criteria.addOrder(Order.asc("cast(id as int)"));

异常(exception)是“无法解析属性:cast(id as int) of [Class]”。我已经尝试了使用 int 和 integer 的 cast( as ) 和 convert(,) 。

最佳答案

尽管该主题很旧并且可能问题已解决,但我会发布解决方案。也许将来对某人有帮助。

criteria.addOrder(new org.hibernate.criterion.Order("anystring", true) {
            @Override
            public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException {
                return "cast(id as int)";
            }
        });

关于hibernate - 在 Hibernate 顺序标准中将字符串转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11545664/

相关文章:

java - 使用 spring + jpa + hibernate 但无法持久化实体并且从不抛出异常,测试通过

java - hibernate不创建表

hibernate - 列出 Hibernate 中使用了哪些设计模式?

Hibernate查询缓存理解

java - 获取ManyToMany映射表的id

java - 是否有一种最好的方法来克隆模型以仅更改一个条目?

java - Hibernate集映射到 'sql select'表

java - 由 : java. lang.ClassNotFoundException : org. springframework.context.event.EventListenerFactory - Spring Batch 引起

java - 使用 Spring Data JPA 更新实体的正确方法是什么?

java - 如果应用程序使用不同于 MySQL 的时区,则 Hibernate 保存/检索日期减去天数