文件系统:计算机通过其存放数据
分布式文件存储系统:通过文件节点形成的文件系统网络进行数据传输
我们这次上传用到的是GridFS(要适用于文件数量较大的文件存储)
GridFS为什么可以存大文件?驱动首先会在当前数据库创建两个集合:"fs.files"和"fs.chunks"集合
前者记录了文件名,文件创建时间,文件类型等基本信息;后者分块存储了文件的二进制数据(并支持加密这些二进制数据)。分块的意思是把文件按照指定大小分割,然后存入多个文档中。
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。