使用threadpool进行hibernate的最佳实践是什么?对分离对象的关注?一对多和其他
我的应用程序大量使用线程池,甚至一个类的方法也可能使用aspectj advice在另一个线程中执行 这给我带来了一个如何使用Hibernate JPA实现设计数据库实体的问题,特别是一对多、多对多等等。问题是我的应用程序使用了EntityManager存储在ThreadLocal中的每线程会话模式,因此在一个线程中获得的实体经常被传递给另一个线程。如果我在实体中有任何一对多的类似映射,那么延迟抓取将不起作用,因为实体没有持久性 我看到的解决方法是调用merge()在访问延迟获取实体之前将实体附加到线程的实体管理器,这还需要为实体创建一个包装类,该类在关联实体的每个getter中调用merge()。这有一个缺点,即如果我更改了实体的一些字段,但现在不想合并到持久性,那么调用getter会出错 我做了一些研究,但没有找到更好的解决办法。我想这应该是面向线程池的应用程序的常见做法。必须有一个最佳实践模式 另一种方法是从不使用这样的一对多功能,但这会带来很多枯燥的编码负担 有人有更好的主意吗使用threadpool进行hibernate的最佳实践是什么?对分离对象的关注?一对多和其他,hibernate,jpa,Hibernate,Jpa,我的应用程序大量使用线程池,甚至一个类的方法也可能使用aspectj advice在另一个线程中执行 这给我带来了一个如何使用Hibernate JPA实现设计数据库实体的问题,特别是一对多、多对多等等。问题是我的应用程序使用了EntityManager存储在ThreadLocal中的每线程会话模式,因此在一个线程中获得的实体经常被传递给另一个线程。如果我在实体中有任何一对多的类似映射,那么延迟抓取将不起作用,因为实体没有持久性 我看到的解决方法是调用merge()在访问延迟获取实体之前将实体附