org.hibernate.mappingexception:没有JDBC类型的Dialect映射:-4

时间:2012-01-13 11:16:38

标签: mysql hibernate java-ee blob

我无法使用包含类型为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,因为它应该是

谢谢!

1 个答案:

答案 0 :(得分:1)

发现错误,在调用createNativeQuery期间,方法manager.find之前抛出异常。我不得不添加addScalar(“data”,Hibernate.BLOB)