【问题标题】:play.exceptions.JavaExecutionException: org.hibernate.MappingException: No Dialect mapping for JDBC typeplay.exceptions.JavaExecutionException: org.hibernate.MappingException: 没有 JDBC 类型的方言映射
【发布时间】:2014-12-17 22:59:57
【问题描述】:

我有一个播放框架应用程序 [版本 1.2.7]。 当我尝试以非 jpa 实体形式获取数据时,我得到了这个异常

play.exceptions.JavaExecutionException: org.hibernate.MappingException: No Dialect mapping for JDBC type: 16
	at play.mvc.ActionInvoker.invoke(ActionInvoker.java:237)
	at Invocation.HTTP Request(Play!)
Caused by: javax.persistence.PersistenceException: org.hibernate.MappingException: No Dialect mapping for JDBC type: 16
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1389)
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1317)
	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:255)

我的代码如下

 List lst = JPA.em().createNativeQuery(myQuery)
                .setParameter("p", searchPhrase)
                .getResultList();

我想使用本机查询并提取所有数据,但我不想将其限制为 Jpa 实体。

我们将不胜感激。

【问题讨论】:

  • 你能粘贴persistance.xml吗?

标签: sql hibernate jpa playframework


【解决方案1】:

如果我没记错的话,JDBC 类型 16 是 BOOLEAN(请看java.sql.Types)。您的问题可能是由于使用了错误的 hibernate.dialect 导致的,它不知道您尝试选择的表之一中出现的 BOOLEAN 类型。检查persistence.xmlhibernate.cfg.xml 中的hibernate.dialect 属性。

【讨论】:

  • 非常感谢,我将布尔类型更改为 int,现在一切正常。
猜你喜欢
  • 2012-02-09
  • 2012-06-17
  • 2018-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-30
相关资源
最近更新 更多