如何解决“;JDBC类型没有方言映射:-1”;java中的错误
我没有得到JDBC类型的方言映射:-1错误。 之前我问了同样的问题,但我并没有找到正确的答案。所以我再次问 如何解决此错误,即如何解决“;JDBC类型没有方言映射:-1”;java中的错误,java,hibernate,jdbc,Java,Hibernate,Jdbc,我没有得到JDBC类型的方言映射:-1错误。 之前我问了同样的问题,但我并没有找到正确的答案。所以我再次问 如何解决此错误,即 org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 at org.hibernate.dialect.TypeNames.get(TypeNames.java:56) at org.hibernate.dialect.TypeNames.get(TypeNames.java:81) a
org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
at org.hibernate.dialect.TypeNames.get(TypeNames.java:56)
at org.hibernate.dialect.TypeNames.get(TypeNames.java:81)
at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:393)
我的代码在这里:
Session session = null;
session = getHibernateTemplate().getSessionFactory().openSession();
Query qu = session.createSQLQuery("select xml from details " +
"where start_date between (select * from(select eventdate from emplyoeevent " +
"where event='logout' and event_id in (select session_id from session " +
"where session_emplyoee='"+Id+"') order by eventdate asc) " +
"where rownum=1) and TO_DATE(SYSDATE, 'DD-MON-YYYY HH:MI:SS PM')");
List li = qu.list();
列表li=qu.List()中出现错误;线路。这个错误是什么意思
如果希望检索单个列而不是实体,请提供任何建议,您可以使用
addScalar
指定
下面的示例假设xml
是字符串类型,您可以将其更改为适合实际类型
qu = qu.addScalar("xml", StringType.INSTANCE);
List li = qu.list();
JDBC Type-1
是,并且是您的查询应该返回的类型
根据版本的不同,Hibernate可能不支持此操作,请参阅:
因此,您必须像上面的示例那样自己指定类型。在
hibernate.cfg.xml
中发布代码:qu=qu.addScalar(“xml”,StringType.INSTANCE);其中tio更改您的代码我指的是整个更改我的查询或在查询后替换您的代码只需在“List li=qu.List();”之前添加这一行,并保持代码的其余部分不变。我以相同的方式添加了代码,但实例中显示了错误,我还添加了import org.hibernate.type.StringType;