如何在成熟的现有多线程java数据库app中使用ORM技术?应用程序是在近7年前开发的。它有业务对象和DAO。这可行吗?现在,由于多线程数据库访问,我们的应用程序面临着连接瓶颈和数据完整性问题。这发生在高度并发的情况下。
如何在多线程的同一个表中同步插入或更新?我知道这可以通过设置隔离级别来实现,这可能会影响性能(TRANSACTION_SERIALIZABLE)。但考虑到重构应用程序以实现可伸缩性。可能正在使用ORM。
发布于 2013-12-15 16:55:07
如果您正在使用JDBC正确地管理(获取/释放)数据库连接(我相信您正在使用它),那么使用ORM根本不会对您有任何帮助,因为ORM不会对资源管理产生任何魔力。它只是在适当的点上获取和释放资源(如果它配置正确)。
顺便说一句,如果您的项目是使用JDBC和SQL语言开发的,那么将其更改为Hibernate或JPA之类的对象关系管理将需要大量的工作。
如果您不确定资源管理是否正确,请使用Spring JDBC (JdbcTemplate)。它确保资源总是被正确地释放,而且它是JDBC,而且它可以减少您的项目所需的工作。
发布于 2013-12-15 17:19:38
您可以将ORM用于多线程java应用程序。但是如果你已经有了数据完整性问题,那么ORM将不会有太大的帮助,除非你还添加了锁。(JPA提供了对乐观和准锁定的支持。)
https://stackoverflow.com/questions/20592556
复制相似问题