Пакетная вставка в несколько таблиц с одинаковым обновленным идентификатором с помощью scalikejdbc - PullRequest
0 голосов
/ 02 ноября 2018

Поэтому я пытаюсь использовать пакетный API (внизу страницы): http://scalikejdbc.org/documentation/operations.html для вставки пакета сущностей. Тем не менее, мне нужно вставить в две разные таблицы. Причина: одна таблица является родительской для другой. Поэтому, если бы мне нужно было вставить одну сущность за раз, я мог бы легко вставить родительскую сущность firs, а затем sql.updateAndReturnGeneratedKey.apply (), чтобы получить обновленный идентификатор, чтобы я мог использовать ее для вставки своей дочерней сущности. Как бы я это реализовал? Если бы я следовал примеру в документации:

val column = Emp.column DB localTx 
 { implicit session => val  
    batchParams: Seq[Seq[Any]] = (2001 to 3000).map(i => Seq(i, 
    "name" + i)) withSQL { 
 insert.into(Emp).namedValues(column.id -> 
 sqls.?, column.name -> sqls.?) }.batch(batchParams: _*).apply() 
 }

Как мне получить обновленный идентификатор, чтобы передать его дочернему объекту? Ofc, в этом примере идентификатор установлен в 2001 на 3000, но что, если у вас не было идентификатора. (Автоматически увеличивается при вставке)

...