-
Notifications
You must be signed in to change notification settings - Fork 365
Open
Labels
type: bugA general bugA general bug
Description
Having entities:
class Employee {
@Id
EmployeeId id; //Composite ID
//... Other fields
}
record EmployeeId(
Organization organization,
Long employeeNumber) {
}
@Table("locker")
public class Locker {
@Id
private Long id;
private AggregateReference<Employee, EmployeeId> assignedTo; //Reference to employee
}
create table employee
(
organization varchar(20),
employee_number int,
...
constraint pk_employee primary key (employee_number, organization)
);
create table locker (
id int,
...
employee_number int,
organization varchar(20),
constraint pk_locker primary key (id),
constraint fk_locker_employee foreign key (employee_number, organization)
references employee (employee_number, organization)
);
Issue: when inserting an entity with a composite ID, it properly generates SQL, but it doesn't work for reference fields:
DEBUG 82178 --- [ Test worker] o.s.jdbc.core.JdbcTemplate : Executing prepared SQL statement [INSERT INTO "employee" ("employee_number", "name", "organization") VALUES (?, ?, ?)]
DEBUG 82178 --- [ Test worker] o.s.jdbc.core.JdbcTemplate : Executing prepared SQL statement [SELECT "employee"."organization" AS "organization", "employee"."employee_number" AS "employee_number", "employee"."name" AS "name" FROM "employee" WHERE "employee"."employee_number" = ? AND "employee"."organization" = ?]
DEBUG 82178 --- [ Test worker] o.s.jdbc.core.JdbcTemplate : Executing prepared SQL statement [INSERT INTO "locker" ("assigned_to", "capacity", "id") VALUES (?, ?, ?)]
Sample code: https://github.com/belyaev-andrey/composite-id-jdbc.git
Metadata
Metadata
Assignees
Labels
type: bugA general bugA general bug