java - 为什么这段代码在 netbeans 中抛出 ClassCastException 而在 eclipse 中运行良好

标签 java hibernate netbeans classcastexception runtimeexception

//运行时异常 在netbeans中调用以下代码时会发生运行时异常。在 eclipse 中工作正常。

    public List<Ticket> findOpenTickets() {
            Session session = null;

            try {
                session = getSession();
                Criteria criteria = session.createCriteria(getReferenceClass());
                            criteria.add(Restrictions.eq(Ticket.PROP_CLOSED, Boolean.FALSE));
                List list = criteria.list();
                return list;
            } finally {
                closeSession(session);
            }
        }

异常堆栈跟踪是

java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.Short
at org.apache.derby.client.net.NetStatementRequest.buildFDODTA(Unknown Source)
at org.apache.derby.client.net.NetStatementRequest.buildSQLDTAcommandData(Unknown Source)
at org.apache.derby.client.net.NetStatementRequest.writeOpenQuery(Unknown Source)
at org.apache.derby.client.net.NetPreparedStatement.writeOpenQuery_(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.writeOpenQuery(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.executeQueryX(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.executeQuery(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2213)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at com.model.dao.TicketDAO.findOpenTickets(TicketDAO.java:154)
at com.util.TicketActiveDateSetterTask.run(TicketActiveDateSetterTask.java:29)
at com.main.Application.initDatabase(Application.java:160)
at com.main.Application.start(Application.java:91)
at com.main.Main.main(Main.java:12)

我无法解决这个异常。因为一切似乎都很好,相同的代码在 Eclipse 中运行良好,但产生运行时异常。

最佳答案

检查你的 hibernate.dialect 是否正确?它必须是您的数据库的..

关于java - 为什么这段代码在 netbeans 中抛出 ClassCastException 而在 eclipse 中运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12525861/

相关文章:

java - 无法在数据库中查询特定日期的房间可用性

java - 有没有办法使用父实体字段(而不是父对象)将子实体映射到父实体?

java - Hibernate:在扩展另一个注释为 JoinedSubclass 的类的类上使用 mappedBy?

java - 动态更新 JFrame 的问题

java - 如何在 Netbeans 中插入 main 方法(快捷方式)

java - 发送收到的 spring FilePart 而不保存

java - 使用 Java API 绕过垃圾箱从 HDFS 删除文件

java - 构建 CriteriaBuilder 查询来比较列表

hibernate - 当配置为Hibernate L2缓存时,Hazelcast将创建3个节点/成员

mysql - 创建数据库时 mysql 与 netbeans 的连接出错?