利用SpringMVC和Hibernate将图像存储到数据库中
以下是我试图使用利用SpringMVC和Hibernate将图像存储到数据库中,hibernate,spring-mvc,Hibernate,Spring Mvc,以下是我试图使用springMVC和Hiberrnate将图像存储到数据库时的错误消息 无法将类型为“org.springframework.web.multipart.commons.commons multipartfile”的属性值转换为属性所需的类型“java.sql.Blob” 我正在使用以下代码集:- 1) 在jsp中 3) 在控制器类中 @RequestMapping(value="/submitPartner1.do",method=RequestMethod.POST) p
springMVC
和Hiberrnate
将图像存储到数据库时的错误消息
无法将类型为“org.springframework.web.multipart.commons.commons multipartfile”的属性值转换为属性所需的类型“java.sql.Blob”
我正在使用以下代码集:-
1) 在jsp中
3) 在控制器类中
@RequestMapping(value="/submitPartner1.do",method=RequestMethod.POST)
public String save(@ModelAttribute("partnerindividual")Partner partnerindividual,@RequestParam("file") MultipartFile file) throws IOException{
Blob blob=null;
try{
byte[] contents = file.getBytes();
blob = new SerialBlob(contents);
partnerindividual.setImage(blob);
//storing into database
service.save(partnerindividual);
}
catch(Exception e){e.printStackTrace();}
System.out.println(partindi);
return "becomeapartnerContinue";
}
}
(四)
在spring\u config.xml中
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
<property name="maxUploadSize" value="10000000" />
</bean>
错误显示从文件字节到Blob的转换存在问题
您可以在控制器内对save()方法进行更改
替换代码行下面的内容
blob = new SerialBlob(contents);
with
blob = Hibernate.createBlob(contents);
这里是会话对象,无论它是HttpSession还是HibernateSession对象……。感谢您指出它,createBlob(字节[])在Hibernate类中,它基本上是最后一个类。它仍然会导致相同的问题java.lang.IllegalStateException:无法转换类型的值[org.springframework.web.multipart.commons.commons multipartfile]转换为属性“image”所需的类型[java.sql.Blob]:未找到匹配的编辑器或转换策略]
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
<property name="maxUploadSize" value="10000000" />
</bean>
blob = new SerialBlob(contents);
with
blob = Hibernate.createBlob(contents);