Postgresql 如何在@query annotation中将事务设置为只读?

Postgresql 如何在@query annotation中将事务设置为只读?,postgresql,spring-boot,jpa,spring-data-jpa,Postgresql,Spring Boot,Jpa,Spring Data Jpa,我正在尝试实现一个系统,其中只读查询将转到从属数据库 对于下面的查询,我的代码运行良好,即read将成为slave db @Transactional(readOnly=true) 用户findById(字符串Id); 但它不适用于以下本机查询。我只是想找到,如何使用@Query注解将事务设置为只读 @Transactional(readOnly=true) @查询(value=“从角色t中选择t.role\u name,其中t.id in:roles和t.status='ACTIVE',na

我正在尝试实现一个系统,其中只读查询将转到从属数据库

对于下面的查询,我的代码运行良好,即read将成为slave db

@Transactional(readOnly=true)
用户findById(字符串Id);
但它不适用于以下本机查询。我只是想找到,如何使用@Query注解将事务设置为只读

@Transactional(readOnly=true)
@查询(value=“从角色t中选择t.role\u name,其中t.id in:roles和t.status='ACTIVE',nativeQuery=true)
公共列表findRoleIn(@Param(“角色”)列表角色);

您是如何知道它不起作用的?你有什么例外吗?