Hibernate 尝试从HttpServletRequest正文创建BLOB

Hibernate 尝试从HttpServletRequest正文创建BLOB,hibernate,jakarta-ee,servlet-filters,Hibernate,Jakarta Ee,Servlet Filters,我尝试在过滤器中从HttpServletRequest的主体创建一个BLOB。 我是这样做的: Blob blob=Hibernate.createBlob(request.getInputStream()); 但这种方法已被弃用。 我还可以做什么?我尝试以下方法: byte[] b=IOUtils.toByteArray(request.getInputStream()); blob=Hibernate.createBlob(b, LogDAO.getInstance().getSessio

我尝试在过滤器中从HttpServletRequest的主体创建一个BLOB。 我是这样做的:

Blob blob=Hibernate.createBlob(request.getInputStream());
但这种方法已被弃用。 我还可以做什么?

我尝试以下方法:

byte[] b=IOUtils.toByteArray(request.getInputStream());
blob=Hibernate.createBlob(b, LogDAO.getInstance().getSession());

而且它是有效的…

您可以试试这个-问题是如果您没有blob大小,在这种情况下,某些DBs的大小似乎是=-1@LeoDB是oracle,我尝试使用request.getContentLength作为第二个参数。它也不推荐使用。当您使用http提供某些内容时,您可以或不能声明所提供内容的大小。当然,如果你这样做总是很好的,否则你会得到那些永远不会结束的下载进度条:-很多时候都是这样,这就是为什么我认为这种方法被弃用的原因。显然,问题是您必须首先检索,然后检查大小,然后在本地再次输入:-