Я не могу заставить эту спецификацию JPA работать для простого соединения. Я знаю "statusLookup.code" при сопоставлении, но здесь он не работает. Кто-нибудь знает, как заставить его работать. Это класс документа, класс состояния и класс спецификации. Я не включил декораторы для таблиц, но если бы это было не для спецификации, код работал бы.
public class Document {
@Id
@Column(name = "id")
private UUID id;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "status_id", referencedColumnName = "id")
private Status statusLookup;
@Column(name = "document_description")
private String documentDescription;
}
public class Status {
@Id
@Column(columnDefinition = "UUID")
private UUID id;
@Column(name = "code")
private String code;
@Column(name = "description")
private String description;
}
public class DocumentSpecification {
public static Specification isStatus(String status) {
return (root, query, builder) -> {
return builder.equal(root.get("statusLookup.code"), status);
};
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... for-a-join