У меня есть поле BLOB в моем PostGreSQL, и я пытаюсь получить это поле, используя спящий режим. Ниже приведен снимок того же самого:
Таблица
Теперь я хочу получить это поле и показать это пользователю. Для этого я использовал массив byte[]
. Ниже мой код:
сущность. java
@Lob
@Column(name = "MAIL_BODY",length=100000)
public Byte[] getMailBody() {
return mailBody;
}
public void setMailBody(Byte[] mailBody) {
this.mailBody = mailBody;
}
сервис. java
Session session=comTtEflMailDataServiceDao.getCurrentSessionPortal();
Criterion criterion=Restrictions.eq("headerSeqNo", "40011532018");
comTtEflMailData=comTtEflMailDataServiceDao.getListByFilter(criterion, session);
DAO. java
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
Как мне решить эту проблему?