首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpringData JPARepository流MySql/MsSql

SpringData JPARepository流MySql/MsSql
EN

Stack Overflow用户
提问于 2016-11-17 20:59:18
回答 1查看 192关注 0票数 0

我正在使用SpringData JPARepository从MySql和MsSql databases.When读取数据,我尝试以列表的形式获取查询结果。它工作得非常好。

代码语言:javascript
复制
 List<Employee> findByEmployeeId(String employeeId);

但当我尝试以流的形式获取

代码语言:javascript
复制
 Stream<Employee> findByEmployeeId(String employeeId);

我得到了NPE。但这会间歇性地发生。

代码语言:javascript
复制
java.lang.NullPointerException: null
    at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1044) ~[mysql-connector-java-5.1.38.jar!/:5.1.38]
    at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2580) ~[mysql-connector-java-5.1.38.jar!/:5.1.38]
    at com.zaxxer.hikari.pool.HikariProxyResultSet.getInt(HikariProxyResultSet.java) ~[HikariCP-2.4.3.jar!/:na]
    at org.hibernate.type.descriptor.sql.IntegerTypeDescriptor$2.doExtract(IntegerTypeDescriptor.java:73) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:64) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:267) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:263) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:253) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:338) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2969) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1696) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1628) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.loader.Loader.getRow(Loader.java:1515) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:726) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:696) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.loader.Loader.loadSingleRow(Loader.java:392) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.internal.ScrollableResultsImpl.prepareCurrentRow(ScrollableResultsImpl.java:237) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.hibernate.internal.ScrollableResultsImpl.next(ScrollableResultsImpl.java:121) ~[hibernate-core-4.3.11.Final.jar!/:4.3.11.Final]
    at org.springframework.data.jpa.provider.PersistenceProvider$HibernateScrollableResultsIterator.hasNext(PersistenceProvider.java:396) ~[spring-data-jpa-1.9.2.RELEASE.jar!/:na]
    at java.util.Iterator.forEachRemaining(Iterator.java:115) ~[na:1.8.0_66]
    at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[na:1.8.0_66]
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_66]
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_66]
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_66]
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_66]
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_66]

但是使用MongoRepository我从来没有遇到过问题,即使是巨大的结果。

如果我遗漏了什么,请告诉我。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-11-18 02:33:21

您是否尝试过在存储库方法的查询中添加@Query注释?我见过并使用过的所有以Stream作为返回类型的查询都使用了它的注释。

下面是你的例子:

代码语言:javascript
复制
@Query(value = "select e from Employee e where e.employeeId = :employeeId)
Stream<Employee> findByEmployeeId(String employeeId)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40655594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档