我有一个桌面java应用程序,可以由不同的用户运行。它使用JPA来访问存储为文件的数据库。为此,我不想运行单独的数据库服务器。
数据库的目的是存储在程序中完成的操作,这是一个简单的“存储记录”操作。但是所有用户都必须能够读取这些存储的记录。
如何确保不同的应用程序可以保存其操作,同时不覆盖其他应用程序的操作?所以我需要一种方法:
JPA有办法执行/执行此操作吗?我现在正在使用hibernate,但这不是一个严格的要求。
请不要回答“你可以用技术XXX做到这一点”。请注意,我关注并发问题以及如何强制执行文件打开并再次关闭。如何利用XXX技术完成这项工作?
答案 0 :(得分:0)
JPA是ORM(对象关系映射)规范; ORM中的R意味着与RDBMS中的R相同。 JPA绝对不适合平面文件持久性系统
答案 1 :(得分:0)
您可以尝试使用SQLite数据库文件。在这种情况下,您可以实现对同一文件(例如数据库)的并发访问,同时您可以将SQLite JDBC driver与JPA提供程序(例如Hibernate)一起使用。
唯一的缺点可能是,严格来说,它不是纯Java方法,因为提议的JDBC驱动程序在那里捆绑了本机库,但我不认为这是一个问题。