2016-12-02 16:41
@静静滴疯 也就是说你的 postgresql 不支持双引号对吧? 解决办法极其简单
1:创建一个public class MyPostgresqlDialect extends PostgresqlDialect,将父类的所有代码 copy 进来,然后将双引号去掉
2:arp.setDialect(MyPostgresqlDialect());
这个问题,可能是你的 postgresql 配置问题,默认是支持双引号的
2016-12-02 13:33
@静静滴疯 方言是对应于某个 ActiveRecordPlugin,而 dataSource 也是对应于某个 ActiveRecordPlugin,对应关系需要使用 configName 来做,在创建 ActiveRecordPlugin 时需要为其指定一个 configName
2016-12-02 12:47
@静静滴疯 截图中的字符是 "`" 而不是 "'" ,注意看一下,终级解决方案是单步调试程序,看一下 batchSave() 方法内部用的 Config 对象中的 dialect 到底是什么类型,一目了然
2016-12-02 12:26
@静静滴疯 看了一下异常,很明显你是将 postgresql 的方言设置成了 mysql 方言
2016-12-02 10:43
注意看一下这个方法上的 API 文档:
Batch save records using the "insert into ..." sql generated by the first record in recordList. Ensure all the record can use the same sql as the first record.
这个方法用于批量 save 记录,所使用的 sql 是依赖于你的第一个 record 对象来的,而不需要手工提供 insertSql,第一个参数由 insertSql 改为 tableName 即可:
Db.use("post").batchSave("tb_jan_mst", list, num);