问题描述
- Hibernate实体类中属性的映射
-
我的实体类的其中一个属性的类型是InputStream,映射文件中type要为什么?可以是mediumblob吗?
解决方案
hibernate实体类映射
hibernate 无主键的表映射实体类
2、Hibernate 实体类映射(两种形式)
解决方案二:
搞什么鬼,实体类的属性类型时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.
时间: 2024-11-03 18:51:52