JPA每次findBy创建新对象



我正在开发具有多个用户登录的春季启动应用程序。登录后,我搜索与User相关的OneToOnePerson,问题是当我退出并再次登录Person person = personService.findByUser(user);时,再次搜索那个人找到它并创建新的对象person,其属性具有null值,我不需要创建新的对象person,并使用在上次登录该用户时已经创建的。我很迷茫,我不确定我是否需要在这里使用Singleton。

person = personService.findByUser(currentUser);
person.setTransientProperty(value)
person.getTransientProperty() # Not null

退出

重新登录

person = personService.findByUser(currentUser);
person.getTransientProperty() #  null

尝试在服务中使用

@Transactional(readOnly = true)

如果我们对一个正在执行创建或更新操作的方法使用@Transactional(readOnly = true),那么我们将不会有新创建或更新的记录进入数据库,但我们将有响应数据。