从Microsoft SQL Server 2014尝试stream results时,我总是得到SQLServerException: The result set is closed
。还尝试使用JDBC URL中的selectMethod=cursor
无效。有没有MSSQL特有的东西要考虑?使用Spring Boot 1.4.0.RELEASE,Spring Data JPA 1.10.2.RELEASE。
示例存储库界面:
package sample;
import sample.Contact;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.stream.Stream;
@Repository
public interface MyRepository extends JpaRepository<Contact, String> {
Stream<Contact> findByContactid(String contactid);
}
答案 0 :(得分:1)
我发现将调用存储库的服务方法放在事务内部可以解决这个错误。
@Transactional(readOnly=true)
public List<Results> myServiceMethod() {
return repo.findByContactid("12345").map(c->c.getName()).collect(toList());
}