У меня есть три таблицы в моей базе данных PostgreSQL:
CREATE TABLE company
(id serial primary key, name varchar(100));
CREATE TABLE employee
(id serial primary key, name varchar(100));
CREATE TABLE company_employees
(company_id serial foreign key references company(id),
employee_id serial foreign key references employee(id),
primary key (company_id, employee_id))
Как я могу выполнить пакет операторов, подобный этому:
class Row {
private String companyId;
private String employeeName
}
List<Row> rows = getRows();
rows.forEach(row -> {
// insert employee and return its id, on conflict do nothing
// INSERT INTO employee(name) VALUES(?) ON CONFLICT DO NOTHING (maybe with RETURN id)
// insert company_employees, on conflict do nothing
// INSERT INTO company_employees(company_id, employee_id) VALUES(?, ?) ON CONFLICT DO NOTHING
})
Возможно ли это вообще?