小编Mar*_*tan的帖子

检索 groovy 中最后插入的对象的 id

我正在导入 groovy 中的原始数据,数十万个条目。我使用表字段作为哈希映射的键,然后在groove sql 数据集上使用add(hash) 方法。数据集进入 postgres 表,ID 字段是根据序列自动生成的。我需要在插入每条记录时获取它的 ID。

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

感谢您的指点或更好的方法。

sql groovy

5
推荐指数
1
解决办法
4356
查看次数

在Amazon S3中列出给定级别的目录

我在亚马逊S3桶中存储了200万个文件.下面有一个给定的根(l1),l1下的目录列表,然后每个目录包含文件.所以我的桶看起来像下面这样

l1/a1/file1-1.jpg
l1/a1/file1-2.jpg
l1/a1/... another 500 files
l1/a2/file2-1.jpg
l1/a2/file2-2.jpg
l1/a2/... another 500 files
....

l1/a5000/file5000-1.jpg
Run Code Online (Sandbox Code Playgroud)

我想尽快列出二级条目,所以我想得到a1,a2,a5000.我不想列出所有的密钥,这将花费更长的时间.

我很乐意直接使用AWS api,但是到目前为止我已经使用ruby中的right_aws gem玩了http://rdoc.info/projects/rightscale/right_aws

该gem中至少有两个API,我尝试在S3模块中使用bucket.keys(),在S3Interface模块中使用incrementally_list_bucket().例如,我可以设置前缀和分隔符列出所有l1/a1/*,但我无法弄清楚如何仅列出l1中的第一级.在incrementally_list_bucket()返回的哈希中有一个:common_prefixes条目,但在我的测试样本中没有填写.

S3 API可以实现此操作吗?

谢谢!

ruby directory amazon-s3

4
推荐指数
1
解决办法
5852
查看次数

打开包含0或1个选项的列表的最佳方法是什么?

在Scala我有一个List可选的Option.例如,当您for在a上使用理解List并且您的收益率返回时,就会出现这种情况Option.在我的例子中,我正在处理一个JSON对象并for在字段列表(List[JField])上使用理解.

什么是开拓列表和地图的最佳方式List()NoneList(Some(a))Some(a)

第一种方法是

def headOrNone[A](list:List[Option[A]]) = 
    list match {
        case Nil => None
        case a::Nil => a
    }
Run Code Online (Sandbox Code Playgroud)

另一种方法

def headOrNone[A](list:List[Option[A]]) = list.headOption.getOrElse(None)
Run Code Online (Sandbox Code Playgroud)

第三种方法(headOption实现的变体)

def headOrNone[A](list:List[Option[A]]) = if (list.isEmpty) None else list.head
Run Code Online (Sandbox Code Playgroud)

我个人更喜欢第三种方法.这个函数有一个更好的名称,headOrNone还有什么是惯用的scala方式来编写它?

scala

3
推荐指数
2
解决办法
135
查看次数

标签 统计

amazon-s3 ×1

directory ×1

groovy ×1

ruby ×1

scala ×1

sql ×1