【发布时间】:2015-03-18 15:24:51
【问题描述】:
我在从数据库中选择记录时遇到问题,
查询:
SELECT rownum as id, mm.metric_name, dm.aggregated_value_float,
dm.created_timestamp, s.type, s.name as subelement_name FROM
daily_metric dm, subelement s, metric_metadata mm WHERE
dm.subelement_id =s.subelement_id AND
TRUNC(dm.created_timestamp)='15-JAN-15' AND s.subelement_id =1456376
and dm.metric_metadata_id = mm.metric_metadata_id order by 1,2 desc
代码:
Query query = session.createSQLQuery(query);
Object o = query.uniqueResult();
堆栈跟踪
org.hibernate.MappingException: No Dialect mapping for JDBC type: 101
at org.hibernate.dialect.TypeNames.get(TypeNames.java:87)
at org.hibernate.dialect.TypeNames.get(TypeNames.java:118)
at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:653)
at org.hibernate.loader.custom.JdbcResultMetadata.getHibernateType(JdbcResultMetadata.java:93)
at org.hibernate.loader.custom.ScalarResultColumnProcessor.performDiscovery(ScalarResultColumnProcessor.java:62)
at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:496)
at org.hibernate.loader.Loader.getResultSet(Loader.java:2073)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1862)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
at org.hibernate.loader.Loader.doQuery(Loader.java:909)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
at org.hibernate.loader.Loader.doList(Loader.java:2551)
at org.hibernate.loader.Loader.doList(Loader.java:2537)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367)
at org.hibernate.loader.Loader.list(Loader.java:2362)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:351)
at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1869)
at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:311)
at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:141)
at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:966)
我尝试过link,但它显示Hibernate.Timestamp无法被编译器解决。
hibernate.cfg.xml
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
【问题讨论】:
-
您错过了在休眠配置中定义数据库方言的接缝。我不知道你的设置,直接休眠还是JPA?如果 Hibernate 例如这里 docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/… 或者如果 jpa 你必须将相同的属性键放置到你的 persistence.xml 作为选项。
-
你需要根据你的数据库定义hibernate方言属性。
-
请显示你的 hibernate.cfg.xml 文件,你有你的数据库连接属性
-
我已经编辑了我的代码
-
你使用的是哪个版本的休眠?
标签: java sql database hibernate orm