mongodb jpa 上传文件 Java

文件系统:计算机通过其存放数据


分布式文件存储系统:通过文件节点形成的文件系统网络进行数据传输


我们这次上传用到的是GridFS(要适用于文件数量较大的文件存储


GridFS为什么可以存大文件?驱动首先会在当前数据库创建两个集合:"fs.files"和"fs.chunks"集合


前者记录了文件名,文件创建时间,文件类型等基本信息;后者分块存储了文件的二进制数据(并支持加密这些二进制数据)。分块的意思是把文件按照指定大小分割,然后存入多个文档中。


在"fs.chunks"中有个"files_id"键,它对应"fs.files"的"_id";"fs.chunks"还有一个键(int型)"n",它表明这些块的先后顺序。这两个集合名中的"fs"也是可以通过参数自定义的。


http://blog.csdn.net/daybreak1209/article/details/50471262 很详细的讲解及代码示例

 Mongo mongo = new Mongo();    
            DB db = mongo.getDB("mongoDBFile");   //创建数据库连接    
            GridFS myFS = new GridFS(db,"user1"); //创建GridFS   对mongoDBFile数据库中的user1进行操作,这样文件的读取和删除都是user1中的文件    
                
            //保存文件    
            GridFSFile file = myFS.createFile(new File("D:/image1.jpg"));    
            file.save();    
http://blog.csdn.net/huxu981598436/article/details/472179519(来源)

网上这样的代码很多,但是我们尝试的时候createFille总是报红线,你说着急不?后来我撤了(因为有其他的事情嘛)再后来问了下何大神,大神说gridFSB没有引用成功,更换了一下GridFS引用的包


Jpa是一种规范,而Hibernate是它的一种实现;除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。在play中定义Model时,使用的是jpa的annotations,比如javax.persistence.Entity, Table, Column, OneToMany等等。但它们提供的功能基础,有时候想定义的更细一些,难免会用到Hibernate本身的annotation。一些重要的注解如Column, OneToMany等,hibernate没有提供,这说明jpa的注解已经是hibernate的核心,hibernate只提供了一些补充,而不是两 套注解。我们要使用hibernate注解就必定要使用jpa。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值