我正在使用Hibernate和Spring,我想编写服务代码以满足这样的场景:在两个单独的线程中,a DAO用于通过id获取实体实例,并且在每种情况下它都是相同的id/database行,我不希望给定的方法在该实体实例的两个线程中并发运行.
我不确定是否可以写...
synchronized(entity) {}
Run Code Online (Sandbox Code Playgroud)
或者是否这是不可能的,因为每个线程在从中检索时DAO都可以在内存中创建对象的不同实例,两者都引用同一个实体实例.
如果Hibernate确实可以在内存中为同一个实体实例创建多个对象,那么做我想做的事情的最佳方法是什么?