我无法使用包含类型为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,因为它应该是
谢谢!
答案 0 :(得分:1)
发现错误,在调用createNativeQuery期间,方法manager.find之前抛出异常。我不得不添加addScalar(“data”,Hibernate.BLOB)