【问题标题】:org.hibernate.mappingexception: No Dialect mapping for JDBC type: -4org.hibernate.mappingexception:没有 JDBC 类型的方言映射:-4
【发布时间】:2012-02-09 14:33:00
【问题描述】:

我无法使用包含 byte[] 类型且长度大于 tinyblob 的实体调用 manager.find(entity) 方法。 如果我这样定义我的实体变量:

private byte[] data;

或者像这样:

@Column(length=200)
private byte[] data;

我没有任何问题,但是 hibernate 将列的类型设置为 tinyblob,对我来说太小了。

所以如果我尝试以这种方式增加维度:

@Column(length=200)
private byte[] data;

甚至是这样:

@Lob
private byte[] data;

我得到了这个异常org.hibernate.mappingexception: No Dialect mapping for JDBC type: -4。我试图在我的 persistence.xml 中设置各种方言,但我总是遇到同样的问题:( 当我调用 manager.find 方法时,在运行时抛出异常,当我启动服务器时,列是 BLOB/MEDIUMBLOB/LONGBLOB,因为它应该是

谢谢!

【问题讨论】:

    标签: mysql hibernate jakarta-ee blob


    【解决方案1】:

    发现bug,在方法manager.find之前,调用createNativeQuery过程中抛出了异常。我必须添加 addScalar("data", Hibernate.BLOB)

    【讨论】:

      猜你喜欢
      • 2012-06-17
      • 2018-04-08
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      相关资源
      最近更新 更多