JDBC类型没有方言映射:-101在Hibernate中使用命名查询时出现异常

JDBC类型没有方言映射:-101在Hibernate中使用命名查询时出现异常,hibernate,named-query,Hibernate,Named Query,我正在尝试使用命名查询在hibernate中执行查询。但是,在执行过程中,我遇到了Hibernate映射异常。谁能帮我找出问题所在吗 原因:org.hibernate.MappingException:没有JDBC的方言映射 类型:-101 在org.hibernate.dia方言.TypeNames.getTypeNames.java:79 在org.hibernate.dialogue.TypeNames.getTypeNames.java:104 在org.hibernate.dial.d

我正在尝试使用命名查询在hibernate中执行查询。但是,在执行过程中,我遇到了Hibernate映射异常。谁能帮我找出问题所在吗

原因:org.hibernate.MappingException:没有JDBC的方言映射 类型:-101 在org.hibernate.dia方言.TypeNames.getTypeNames.java:79 在org.hibernate.dialogue.TypeNames.getTypeNames.java:104 在org.hibernate.dial.dial.getHibernateTypeanMediaSelect.java:442 在org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateTypeCustomLoader.java:586 位于org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscoveryCustomLoader.java:512

SQL:

爪哇: Query Query=getSession.getNamedQuerynamedQuery;
list=query.list

考虑到您有一个名为last_modified_ts的时间戳列,Hibernate 4就是这样工作的:

Object result = session.createSQLQuery(sqlQuery)
.addScalar("dm_timestamp", TimestampType.INSTANCE)
.uniqueResult();

您使用的是哪台DB服务器?我使用的是Oracle 10G。我发现问题的原因是命名查询中的SYSTIMESTAMP。我取下了SYSTIMESTAMP,它对我有效。在java端,我使用query.addScalarlast\u modified\u ts,Hibernate.TIMESTAMP
Object result = session.createSQLQuery(sqlQuery)
.addScalar("dm_timestamp", TimestampType.INSTANCE)
.uniqueResult();