У меня проблема с Hibernate, я хочу создать таблицу, связанную с другой таблицей, но при ее создании внешний ключ неверен.
Возможно ли, что в Hibernate есть ошибка?
Вот код, который я использую для генерации внешнего ключа:
@Id
@JsonProperty("account")
@OneToOne
@JoinColumns({
@JoinColumn(
name = "ACCOUNTCODE_K",
referencedColumnName = "CODE_K"/*, insertable = false, updatable = false*/),
@JoinColumn(
name = "INVOICEDEBTOR_K",
referencedColumnName = "INVOICEDEBTOR_K"/*, insertable = false, updatable = false*/)
})
@javax.validation.constraints.NotNull(message="El campo no puede ser nulo")
private Account account;
А вот DDL, сгенерированный в базе данных:
ALTER TABLE "INVOICES"."ACCOUNTBIEN_T"
ADD CONSTRAINT "FKSWGAGEC55PBL7KIHFE19FWBLO" FOREIGN KEY
("ACCOUNTCODE_K",
"INVOICEDEBTOR_K")
REFERENCES "INVOICES"."ACCOUNT_T"
("INVOICEDEBTOR_K",
"CODE_K")
ON DELETE NO ACTION
ON UPDATE NO ACTION
ENFORCED
ENABLE QUERY OPTIMIZATION ;
Вы можете видеть, что ACCOUNTCODE_K ссылается на INVOICEDEBTOR_K, когда это будет ссылка CODE_K и INVOICEDEBTOR_K на другой INVOICEDEBTOR_K.
Спасибо за помощь.