2 chaobaby94 ChaoBaby94 于 2016.01.15 13:50 提问

Hibernate实体类中属性的映射

我的实体类的其中一个属性的类型是InputStream,映射文件中type要为什么?可以是mediumblob吗?

3个回答

CSDNXIAON
CSDNXIAON   2016.01.15 13:52

hibernate实体类映射
hibernate 无主键的表映射实体类
2、Hibernate 实体类映射(两种形式)
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq_26946497
qq_26946497   2016.01.16 13:43

搞什么鬼,实体类的属性类型时InputStream???
难道不应该是byte[]吗?blob什么的也好……inputStream是一个流,它就不是用来储存数据信息的啊喂
如果有必要保存一个“从某个地方读取流”这样的信息,那就存储一个url或者String,取出来之后重新建立链接啦

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.17 20:42

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.

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!