Closed cbqqkcel closed 1 month ago
用SQL 管理工具可以查询出来数据,日期是正常的。在代码里面就是null 是不是我的 orm 框架不支持。mysql 的是可以查出来的
newRow 里面的值还是正常的
嵌入式下可以可以使用同步吗,由于是异步我无法从mybatis中debug过来
JdbcPreparedStatement 不支持 LocalDateTime
Mybatis LocalDateTimeTypeHandler 是直接调用 ps.setObject 了,最后到 DataType.convertToValue 中是不支持LocalDateTime 的
java.time 包中的日期时间还不支持,所以转换时会有问题。
如果要支持的话还得支持 LocalDateTime LocalDate LocalTime 这几个。 1.8 后不推荐使用 java.util.Date 了。
嵌入式下可以可以使用同步吗,由于是异步我无法从mybatis中debug过来
嵌入模式下真正执行 sql 语句的线程是 EScheduleService 线程,mybatis 的线程调用到 jdbc 的 api 时,只是把 sql 提交给EScheduleService 线程执行,所以无法在 mybatis 的线程里一路 debug 所有代码的。
如果要支持的话还得支持 LocalDateTime LocalDate LocalTime 这几个。 1.8 后不推荐使用 java.util.Date 了。
下一个小版本再看看如何支持 java.time 包中的日期时间,H2 数据库确实支持挺长一段时间了
不管是嵌入模式还是 client-server 模式,lealone 的内核代码都是由 lealone 内部的调度服务线程执行,外部线程无法也不给执行内核代码。
Lealone 的 JDBC 客户端已经支持 LocalDate、LocalTime、LocalDateTime,其他 java.time 类型还不支持。
通过 setObject/getObject 来使用,具体用法可以参考 JSR310JavaTimeTest
如果我注释调 .updatedAt(now) 这行代码就能更新成功。