gpt4 book ai didi

java - FullTextEntityManager hibernate 搜索 "Session is closed"

转载 作者:搜寻专家 更新时间:2023-11-01 00:56:40 24 4
gpt4 key购买 nike

我正在尝试使用 FullTextEntityManager(和 Spring),但出现“ session 已关闭”异常。我第一次可以很好地查询,但是第二次,抛出了异常。这是我的配置:

@Service
@Transactional(readOnly = true, propagation=Propagation.SUPPORTS)
public class SearchServiceImpl extends BaseService implements SearchService {

public List<StrainSearchResultsListItem> advancedSearch(Pageable page,String species) {
return searchRepository.advancedSearch(page, species);
}

repo 实现:

@Repository
@Transactional(readOnly = true)
public class SearchRepositoryImpl implements SearchRepository {

@PersistenceContext
public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}

protected FullTextEntityManager getFullTextEntityManager() {

if (fullTextEntityManager == null) {
fullTextEntityManager = Search.getFullTextEntityManager(getEntityManager());
}

return fullTextEntityManager;
}

当我第二次调用 fullTestQuery.getResultList() 时,它会抛出“ session 已关闭”异常。

FullTextQuery fullTextQuery = 
getFullTextEntityManager()
.createFullTextQuery(booleanQuery, Strain.class);
fullTextQuery.getResultList()

欢迎任何想法。

谢谢

最佳答案

可能是您忘记在 spring 配置文件中启用 TransactionManagement。 @EnableTransactionManagement 到 spring 配置文件以启用事务管理。

关于java - FullTextEntityManager hibernate 搜索 "Session is closed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22867269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com