我正在开发一个webapp,用户有机会以pdf格式上传他的简历.我正在使用NHibernate作为数据映射器和MS SQL SERVER 2005.
我希望能够将.pdf文件保存到给定的表格......任何想法?
非常感谢你!
我们正在使用"原始"Java Hibernate3.您只需将可持久类的字节数组属性映射到Type"image"的列.
package com.hibernate.pdf.sample; public class TPDFDocument implements java.io.Serializable { private Integer pdfDocumentId; private byte[] document; public Integer getPdfDocumentId() { return this.pdfDocumentId; } public void setPdfDocumentId(Integer pdfDocumentId) { this.pdfDocumentId = pdfDocumentId; } public byte[] getDocument() { return this.document; } public void setDocument(byte[] document) { this.document = document; } }
Hibernate映射:
表创建:
CREATE TABLE [dbo].[T_PDFDocument]( [pdfDocumentId] [int] IDENTITY(1,1) NOT NULL, [document] [image] NOT NULL, CONSTRAINT [PK_PDFDocument] PRIMARY KEY CLUSTERED ( [pdfDocumentId] ASC )
您所要做的就是将原始字节中的文档读入数组并保留它.在我们的情况下,文档将不会大于1MB,因此将整个内容放入字节数组不会导致性能问题.也许这个解决方案对于非常大的文档来说是不可行的.
我想使用NHibernate实现和C#解决方案看起来非常相似.