我知道有很多关于文档的信息,但我对这个论点完全陌生,我想对此有一些简单的建议。 我正在使用spring hibernate和jpa。我将在同一台服务器上安装两个不同的应用程序。它们都与同一个数据库进行通信,但只读一个,另一个读写。 这是最好的方式来负担得起吗?看着aorund我明白应该有必要像EHCache这样的二级缓存,但有一些愚蠢的东西,我不明白。例如,我应该在两个应用程序中创建完全相同的实体吗?如何将只读应用程序将其实体与其他应用程序创建的实体相关联?从两个不同的应用程序访问相同的数据库(读/写和只读)
1
A
回答
5
嗯,这里是你的问题发表一些看法
从理论上说,你是不是在所有强制具有映射到数据库表中的相同的Java类。您可以制作不同的标注并对它们进行标注,以便两组都映射到相同的表格。这就是说,这不是一个好习惯。你应该做的是拥有一个数据访问模块,在这个模块中你有一套JPA实体bean映射到表,以及允许你对这些(至少是CRUD)进行基本操作的类,然后有单独的服务使用数据访问模块类实现特定业务逻辑的两个项目中的每个类中的类
由于您有2个应用程序访问同一个数据库,因此您将处理两个单独的JPA上下文,这将分别刷新和同步。因此,如果您不确定每次需要时都手动刷新修改,则可能会出现一些数据不一致情况。如果你在其上面使用二级缓存(比如EHCache),这可能会成为另一个问题。但是,在您当前的设置中,只有读取和写入的应用程序应该遵守这些限制,另一个(只读的限制)可以并且确实建议使用二级缓存来加速其操作。只要确保所说的缓存被刷新/过期,以便在第一个应用写入时就能得到所需的数据(例如,如果经常写入,缓存也应该经常过期;如果你每个月都写一次,可以在只读应用程序的二级缓存上配置较长的到期时间)
0
我只会创建两个用户,其中一个用户只有读取权限(如果您的数据库引擎支持)。
相关问题
- 1. 从两个不同的Java应用程序读取和写入SQLite数据库
- 2. 从2个应用程序访问相同的SQLite数据库
- 3. 访问相同字典的不同线程(只读)
- 4. 如何从单个Web应用程序访问两个不同的数据库
- 5. 使用两个不同的管道读取和写入相同的进程C++
- 6. 使用相同的ravenhq数据库与两个不同的应用程序
- 7. 使用fgets()从不同的管道读取,从两个读取相同的消息(应该是不同的)
- 8. 两个不同的Java应用程序共享相同的数据库
- 9. 如何避免两个不同的线程从数据库读取相同的行(Hibernate和Oracle 10g)
- 10. 问题阅读,并从同一个程序中相同的文件写入... C++
- 11. Heroku Postgres数据库的只读访问
- 12. EF 4.1 - 从不同机器上的相同应用程序访问数据库的问题
- 13. 两个应用程序可以访问相同的Cookie吗?
- 14. 在两个应用程序中访问相同的hibernate.cfg.xml
- 15. 如何让JPA应用程序访问不同的数据库?
- 16. 写作和阅读相同的文件是不适用于android应用程序
- 17. 可以在两个Python程序写入和读取的同时
- 18. 多线程访问(读/写)同一表
- 19. 在同一个应用程序的两个不同数据库中使用相同的Django模型
- 20. 使用相同的数据库和通知的两个不同的Laravel应用程序
- 21. 关于同时处理对文件的只读和只读访问的问题
- 22. 多线程访问来自两个不同数据库连接的相同数据库表
- 23. 从同一个文件夹读取/写入两个ASP.net应用程序
- 24. 从多个线程同时访问只读数据是否明智?
- 25. Spring + Hibernate:读/写不同的数据源和数千个mysql数据库
- 26. iTunes思考两个不同的应用程序是相同的
- 27. 访问 - 合并具有相同结构的两个数据库
- 28. iPhone - 两个相同的应用程序
- 29. 访问数据库打开为只读
- 30. 只读数据库访问事务?