2009-07-20 61 views
4

我正在导入groovy中的原始数据,数十万条记录。我使用表字段作为哈希映射的关键字,然后在groove sql数据集上使用add(散列)方法。数据集转到postgres表,ID字段是从一个序列自动生成的。我需要获取插入的每条记录的ID。在groovy中检索最后插入的对象的ID

在java + hibernate中,ID会自动插入到持久化对象的相应字段中。在这种情况下,add()方法不会返回任何内容,也不会向散列表中添加一个id字段。我试图避免在这里出于效率原因使用hibernate/gorm。

感谢任何指针或更好的方法。

回答

4

groovy.sql.SQL有一个executeInsert()查询,它返回每个插入行的自动生成列值的列表。

+0

我需要重写代码来生成我的插入sql语句,但这很容易从包含记录的哈希表中完成。 – 2009-07-27 03:58:41