当前使用版本(必填,否则不予处理)

  <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.4.3</version>
  </dependency>

该问题是如何引起的?(确定最新版也有问题再提!!!)

使用LambdaQueryWrapper传入 lambda表达式式时报错

重现步骤(如果有就写完整)

 // TBasicRoom 为数据库实体
LambdaQueryWrapper<TBasicRoom> queryWrapper = new LambdaQueryWrapper<>();
// 第一种写法
queryWrapper.orderBy(true, true, (TBasicRoom t) -> t.getId());
// 第二种写法
queryWrapper.orderBy(true, true, TBasicRoom::getId);

第一种写法报错,第二种写法正常,报错信息在下面

报错信息

org.apache.ibatis.reflection.ReflectionException: Error parsing property name 'lambda$query$7ca1beae$1'.  Didn't start with 'is', 'get' or 'set'.
    at org.apache.ibatis.reflection.property.PropertyNamer.methodToProperty(PropertyNamer.java:37) ~[mybatis-3.5.5.jar:3.5.5]
    at com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper.getColumnCache(AbstractLambdaWrapper.java:76) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper.columnToString(AbstractLambdaWrapper.java:62) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper.columnToString(AbstractLambdaWrapper.java:58) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper.columnToString(AbstractLambdaWrapper.java:38) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at com.baomidou.mybatisplus.core.conditions.AbstractWrapper.lambda$columnToSqlSegment$a3f115af$1(AbstractWrapper.java:575) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_291]
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) ~[na:1.8.0_291]
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[na:1.8.0_291]
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[na:1.8.0_291]
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_291]
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_291]
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_291]
    at com.baomidou.mybatisplus.core.conditions.segments.OrderBySegmentList.transformList(OrderBySegmentList.java:37) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at com.baomidou.mybatisplus.core.conditions.segments.AbstractISegmentList.addAll(AbstractISegmentList.java:60) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at com.baomidou.mybatisplus.core.conditions.segments.MergeSegments.add(MergeSegments.java:50) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at com.baomidou.mybatisplus.core.conditions.AbstractWrapper.appendSqlSegments(AbstractWrapper.java:520) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at com.baomidou.mybatisplus.core.conditions.AbstractWrapper.lambda$orderBy$17(AbstractWrapper.java:328) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at com.baomidou.mybatisplus.core.conditions.AbstractWrapper.maybeDo(AbstractWrapper.java:460) ~[mybatis-plus-core-3.4.3.jar:3.4.3]
    at com.baomidou.mybatisplus.core.conditions.AbstractWrapper.orderBy(AbstractWrapper.java:326) ~[mybatis-plus-core-3.4.3.jar:3.4.3]

Comment From: mstao

找到问题原因了:Java中普通lambda表达式和方法引用本质上有什么区别? - RednaxelaFX的回答 - 知乎 https://www.zhihu.com/question/51491241/answer/126232275