0
我有一个存储一些元数据和一些原始字节的域对象。这用于存储二进制对象,如PDF文档和图像。坚持JPA域对象的好设计
我想将元数据保存在数据库中,以便轻松查询,但出于性能考虑,我想将原始字节存储在文件系统中。什么是实现这个目标的好设计?
我是否应该有一个域对象来表示具有自己的DAO的原始字节以执行CRUD并使用单独的JPA DAO来为元数据执行相同的操作?
如果是这种情况,元数据的域对象是否包含对被标记为瞬态的原始字节对象的引用,所以JPA不会尝试保留它?
我是否遵循过于复杂的设计,而不是在数据库中存储原始字节的好处?我使用PostgreSQL 8.x如果有所作为。
非常感谢。
感谢您的意见。是的,我打算将事务保存在事务中,如果发生异常,请删除文件并回滚数据库。你认为我应该将字节存储在数据库中吗? – Stephen 2009-12-24 17:31:29
我会的。如果修改文档会发生什么情况。您必须回滚到以前的文件。我会将所有文档数据存储在数据库中(无论如何都是第一次)。您*可能*想要将元数据和二进制数据分离到不同的表中以实现可管理性或性能 - 这对于更熟悉数据库的人来说是一个不同的问题。 – 2009-12-24 17:36:01