Hasta la versión spring-data-r2dbc:1.3.2 no es posible usar Composite Key para mapear una tabla con más de un campo como PK.
Como workaround se tiene este ejemplo.
La tabla en la base de datos Postgresql, se muestra con una PK compuesta:
Vamos a agregar un campo que simule ser un PK. Debe ser del tipo autoincrement.
alter table public.order_line
add column id serial not null unique;
Por parte del código Java, en el objeto que mapeamos dicha tabla; le especificamos como Id el nuevo campo.
@Table("order_line")
public class OrderLineDTO {
@Id
Long id;
//PK
String orderLineNumber;
//PK
Long orderNumber;
@CreatedDate
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime updatedAt;
Lo siguiente será implementar las búsquedas por los campos que conforman la llave primaria real.
Documentación
https://www.postgresqltutorial.com/postgresql-serial/
https://docs.spring.io/spring-data/r2dbc/docs/1.3.2/reference/html/#r2dbc.repositories
Top comments (0)