protected void serializeForInsert(QueryMetadata metadata, RelationalPath<?> entity, List<SQLInsertBatch> batches) { serializeForInsert(metadata, entity, batches.get(0).getColumns(), batches.get(0).getValues(), null); for (int i = 1; i < batches.size(); i++) { append(COMMA); append("("); handle(COMMA, batches.get(i).getValues()); append(")"); } }
@Override public List<SQLBindings> getSQL() { if (batches.isEmpty()) { SQLSerializer serializer = createSerializer(); serializer.serializeInsert(metadata, entity, columns, values, subQuery); return ImmutableList.of(createBindings(metadata, serializer)); } else if (batchToBulk) { SQLSerializer serializer = createSerializer(); serializer.serializeInsert(metadata, entity, batches); return ImmutableList.of(createBindings(metadata, serializer)); } else { ImmutableList.Builder<SQLBindings> builder = ImmutableList.builder(); for (SQLInsertBatch batch : batches) { SQLSerializer serializer = createSerializer(); serializer.serializeInsert(metadata, entity, batch.getColumns(), batch.getValues(), batch.getSubQuery()); builder.add(createBindings(metadata, serializer)); } return builder.build(); } }
.get(0).getValues(), batches.get(0).getSubQuery()); PreparedStatement stmt = prepareStatementAndSetParameters(serializer, withKeys); if (addBatches) { serializer = createSerializer(); serializer.serializeInsert(metadata, entity, batch.getColumns(), batch.getValues(), batch.getSubQuery()); context.addSQL(createBindings(metadata, serializer)); listeners.rendered(context);
@Override public void serializeInsert(QueryMetadata metadata, RelationalPath<?> entity, List<SQLInsertBatch> batches, SQLSerializer context) { context.append(bulkInsertTemplate); metadata.addFlag(new QueryFlag(Position.START_OVERRIDE, bulkInsertSeparator)); for (SQLInsertBatch batch : batches) { serializeInsert(metadata, entity, batch.getColumns(), batch.getValues(), batch.getSubQuery(), context); } context.append(" select * from dual"); }