Java 无法使用Hibernate从PostgreSQL获取BLOB字段

Java 无法使用Hibernate从PostgreSQL获取BLOB字段,java,postgresql,hibernate,blob,hibernate-criteria,Java,Postgresql,Hibernate,Blob,Hibernate Criteria,我的PostGreSQL中有一个BLOB字段,我正在尝试使用hibernate获取该字段。下面是相同的快照: 表格 现在我想获取这个字段并将其显示给用户。为此,我使用了byte[]数组。下面是我的代码: entity.java @Lob @Column(name = "MAIL_BODY",length=100000) public Byte[] getMailBody() { return mailBody; } public void setMailBody(Byte[] mail

我的PostGreSQL中有一个BLOB字段,我正在尝试使用hibernate获取该字段。下面是相同的快照:

表格

现在我想获取这个字段并将其显示给用户。为此,我使用了
byte[]
数组。下面是我的代码:

entity.java

@Lob
@Column(name = "MAIL_BODY",length=100000)
public Byte[] getMailBody() {
    return mailBody;
}
public void setMailBody(Byte[] mailBody) {
    this.mailBody = mailBody;
} 
Session session=comTtEflMailDataServiceDao.getCurrentSessionPortal();
Criterion criterion=Restrictions.eq("headerSeqNo", "40011532018");
comTtEflMailData=comTtEflMailDataServiceDao.getListByFilter(criterion, session);
criteria = currSession.createCriteria(getPersistentClass());
System.out.println(3);
criteria.add(criterion);
System.out.println(2);
resultset = (T) criteria.uniqueResult();
service.java

@Lob
@Column(name = "MAIL_BODY",length=100000)
public Byte[] getMailBody() {
    return mailBody;
}
public void setMailBody(Byte[] mailBody) {
    this.mailBody = mailBody;
} 
Session session=comTtEflMailDataServiceDao.getCurrentSessionPortal();
Criterion criterion=Restrictions.eq("headerSeqNo", "40011532018");
comTtEflMailData=comTtEflMailDataServiceDao.getListByFilter(criterion, session);
criteria = currSession.createCriteria(getPersistentClass());
System.out.println(3);
criteria.add(criterion);
System.out.println(2);
resultset = (T) criteria.uniqueResult();
DAO.java

@Lob
@Column(name = "MAIL_BODY",length=100000)
public Byte[] getMailBody() {
    return mailBody;
}
public void setMailBody(Byte[] mailBody) {
    this.mailBody = mailBody;
} 
Session session=comTtEflMailDataServiceDao.getCurrentSessionPortal();
Criterion criterion=Restrictions.eq("headerSeqNo", "40011532018");
comTtEflMailData=comTtEflMailDataServiceDao.getListByFilter(criterion, session);
criteria = currSession.createCriteria(getPersistentClass());
System.out.println(3);
criteria.add(criterion);
System.out.println(2);
resultset = (T) criteria.uniqueResult();
但是,当我运行代码时,会出现以下错误:

org.hibernate.exception.GenericJDBCException: could not execute query 
Caused by: java.sql.SQLException: Numeric Overflow

如何解决此问题?

您确定此异常与
BLOB
字段读取相关吗?能否提供完整的堆栈跟踪以及与查询实体字段相关的所有内容。@SternK我解决了这个问题。你是对的。这并不是因为水滴场。谢谢