Код: Выделить всё
CREATE TABLE org (
id UUID PRIMARY KEY DEFAULT uuidv7(),
name VARCHAR(50) NOT NULL
);
CREATE TABLE org_entity (
id UUID PRIMARY KEY DEFAULT uuidv7(),
name VARCHAR(50) NOT NULL,
org_id UUID NOT NULL REFERENCES org(id)
);
CREATE UNIQUE INDEX ui_org_entity ON org_entity (org_id, id);
CREATE TABLE entity_field (
id UUID PRIMARY KEY DEFAULT uuidv7(),
name VARCHAR(50) NOT NULL,
org_id UUID NOT NULL,
entity_id UUID NOT NULL,
FOREIGN KEY (org_id, entity_id) REFERENCES org_entity(org_id, id)
);
Код: Выделить всё
@Entity
@Table(name = "entity_field")
@Getter
@Setter
@NoArgsConstructor
@ToString(callSuper = true)
public class EntityField extends BaseOrg {
@ManyToOne(optional = false, fetch = FetchType.LAZY)
@JoinColumn(name = "org_id", nullable = false, referencedColumnName = "id")
protected Org org;
@TenantId
Подробнее здесь: [url]https://stackoverflow.com/questions/79899589/class-hierarchy-hibernate-mapping[/url]