我在尝试使用休眠 JPA 从 Sybase DB 读取 blob 时遇到以下异常。
实体
@Lob
@Column(length=100000)
private byte[] fileContent;
public byte[] getFileContent() {
return fileContent;
}
public void setFileContent(byte[] fileContent) {
this.fileContent = fileContent;
}
ioc.Registry com.sybase.jdbc3.jdbc.SybResultSet.getBlob(String) 方法不受支持,不应调用。ioc.Registry 操作跟踪:ioc.Registry [1] 在 Purchase_Request TapestryModule.RequestExceptionHandler 上触发事件“激活”处理请求失败,未捕获异常:不支持方法 com.sybase.jdbc3.jdbc.SybResultSet.getBlob(String) 并且不应该被调用。org.apache.tapestry5.ioc.internal.OperationException:方法 com.sybase.jdbc3.jdbc.SybResultSet.getBlob(String) 不受支持,不应调用。
我遇到了以下休眠线程,该线程提供了一个链接,该链接指向如何通过将 blob 映射到二进制数据来读取和写入 blob,但是该链接已失效。
线程 https://forum.hibernate.org/viewtopic.php?f=1&t=936553
死链接 http://www.hibernate.org/73.html
我想知道是否有人可以提供一个例子或一篇文章来描述如何做到这一点?
更新
我发现以下 JIRA 问题概述了这个问题 https://issues.jboss.org/browse/JBPAPP-2867
Laura 声称“解决此问题的方法是创建映射到 Sybase 文本和图像类型的用户定义类型。”
有人熟悉创建用户定义的类型吗?