LSL1618
LSL1618
"ok"这货都不是标准的JSON格式,不报错才有鬼!
[""]格式不太对,[{}]这样才对,TypeReference要指定泛型吧。
> > [""]格式不太对,[{}]这样才对,TypeReference要指定泛型吧。 > > 格式不对你可以报错,报格式不正确。而你报个OOM?你觉得合理吗? 这样一行代码,怎么可能导致OOM!TypeReference不指定泛型,连编译都过不了,就别说运行了。 我指定泛型之后,编译通过,运行正常,你应该找错原因了 `List map = JSON.parseObject("[\"\"]",new TypeReference(){});`
> > 问题确实存在,有人知道这个 BUG 什么时候修复了吗? ----------- The problem does exist, does anyone know when this bug will be fixed? > > 虽然复现了,楼主写法好像不对,泛型应该是这样写? `List map = JSON.parseObject("[\"\"]",new TypeReference(){});` 应该是复杂泛型(多层套娃)导致的,简单泛型是不会有问题的。 ``` //...
关于“SQLServerException: 不允许从数据类型 varbinary 到 datetime2 的隐式转换”异常的解决办法,可以在实体类属性上添加字段注解`@ColumnType(jdbcType = JdbcType.TIMESTAMP)`或者`@ColumnType(jdbcType = JdbcType.DATE)`,也可以在实体类的XML映射文件上指明jdbcType类似这样``,能解决sqlserver数据库表中多个时间类型字段值为null在插入或更新报错的情况。
我也遇到了类似情况,在使用`SQLServer`数据库时`updateByExampleSelective`执行报错,说无法更新主键标识列,查了4.2.1、4.2.2这2个版本的源码,发现在类方法`SqlHelper.updateSetColumnsIgnoreVersion()`中,4.2.2及以上版本多了这一段代码片 ``` else if (column.isId() && column.isUpdatable()) { sql.append(column.getColumn()).append(" = ").append(column.getColumn()).append(","); } ``` 导致主键标识列也加入了被更新字段,`SQLServer`不允许自然就报错了。 别的数据库我不清楚,但这段代码片在使用`SQLServer`数据库时是不合理的,应该区分开。
我也遇到了类似情况,在使用`SQLServer`数据库时`updateByExampleSelective`执行报错,说无法更新主键标识列,查了4.2.1、4.2.2这2个版本的源码,发现在类方法`SqlHelper.updateSetColumnsIgnoreVersion()`中,4.2.2及以上版本多了这一段代码片 ``` else if (column.isId() && column.isUpdatable()) { sql.append(column.getColumn()).append(" = ").append(column.getColumn()).append(","); } ``` 导致主键标识列也加入了被更新字段,`SQLServer`不允许自然就报错了。 别的数据库我不清楚,但这段代码片在使用`SQLServer`数据库时是不合理的,应该区分开。
我也遇到了类似情况,在使用`SQLServer`数据库时`updateByExampleSelective`执行报错,说无法更新主键标识列,查了4.2.1、4.2.2这2个版本的源码,发现在类方法`SqlHelper.updateSetColumnsIgnoreVersion()`中,4.2.2及以上版本多了这一段代码片 ``` else if (column.isId() && column.isUpdatable()) { sql.append(column.getColumn()).append(" = ").append(column.getColumn()).append(","); } ``` 导致主键标识列也加入了被更新字段,`SQLServer`不允许自然就报错了。 别的数据库我不清楚,但这段代码片在使用`SQLServer`数据库时是不合理的,应该区分开。
> > 我也遇到了类似情况,在使用`SQLServer`数据库时`updateByExampleSelective`执行报错,说无法更新主键标识列,查了4.2.1、4.2.2这2个版本的源码,发现在类方法`SqlHelper.updateSetColumnsIgnoreVersion()`中,4.2.2及以上版本多了这一段代码片 > > ``` > > else if (column.isId() && column.isUpdatable()) { > > sql.append(column.getColumn()).append(" = ").append(column.getColumn()).append(","); > > } > > ``` > > > > >...
@qichhhhh 试试再排除掉MybatisPlus中的JsqlParser 4.6,只保留PageHelper的sqlparser4.5。