2016-04-28 10 views
0

複合IDを持つエンティティのsquerylにdeleteWhere句を書き込むにはどうすればよいですか? CompositeKeyで合成キーとスクエイル内の位置

val list: List[CompositeKey2[Long, Date]] = existing.map(x => x.id).toList 
    Schema.entities.deleteWhere(q => q.id in list) 

Error:(82, 49) value in is not a member of org.squeryl.dsl.CompositeKey2[Long,java.util.Date] 
    Schema.entities.deleteWhere(q => q.id in list) 
             ^

答えて

2

id方法はカラムに直接マッピングされないので、in句に有用ではありません。秘密鍵を個別に構成する各列を参照する場所を構造化する必要があります。関与する列が分からないと、より具体的にするのは難しいですが、何かが好きです。

deleteWhere(q => existing.map(e => q.id1 === e.id1 and q.id2 === e.id2).reduce(_ or _)) 
関連する問題