我的实体类的其中一个属性的类型是InputStream,映射文件中type要为什么?可以是mediumblob吗?
搞什么鬼,实体类的属性类型时InputStream???
难道不应该是byte[]吗?blob什么的也好……inputStream是一个流,它就不是用来储存数据信息的啊喂
如果有必要保存一个“从某个地方读取流”这样的信息,那就存储一个url或者String,取出来之后重新建立链接啦
InputStream类型不是数据库支持的类型,实体类中定义为Blob/Clob才是,其对应的数据库类型Blob。
大数据类型java提供了java.sql.Blob类型,实体类定义为这个类型就可以了,它可以通过InputStream来创建的。
FileInputStream fis = new FileInputStream(path);
Blob photo = Hibernate.createBlob(fis);
Hibernate映射关系:
<property name="photo" type="blob">
<column name="photo" />
</property>
映射类型还是blob,这个是对应的sql的类型的别名就是blob.