This line: https://github.com/max-l/Squeryl/blob/master/src/main/scala/org/squeryl/Table.scala#L179 seems to require that batch updates only be done on KeyedEntities where the primary key is a field (the left value). I just tried doing a batch update on a KeyedEntity[CompositeKey....] and it blew up on me. It doesn't seem like a single column primary key should be necessary but I'm not that familiar with the code and I'm having a bit of trouble following what happens next. It seems like the primary key data is filtered from the updated field list only to be re-added before the list is flattened. Can anyone point me in the right direction?