Я реализовал любое сопоставление сущностей тегов отношений с активом, пациентом, персоналом
Я пробовал ниже JPQL Query
em.createQuery("select t from Tag t join t.tagAssociation ta");
Я получил следующую ошибку
org.hibernate.hql.internal.ast.QuerySyntaxException: атрибут AnyType не может быть соединен с полученной ошибкой
Что не так с запросом?
Как написать запрос на присоединение, и я хочу получить связанный список активов и тегов.
Код:
public interface ITagAssociatable {
public String getName();
}
@Entity
public class Tag {
@Id
private String tagSerialNumber;
@JsonIgnore
@Any(metaColumn = @Column(name = "tag_association_type"))
@AnyMetaDef(idType = "long", metaType = "string", metaValues = {
@MetaValue(targetEntity = Asset.class, value = "Asset"),
@MetaValue(targetEntity = Staff .class, value = "Staff"),
@MetaValue(targetEntity = Patient.class, value = "Patient") })
@Cascade({ org.hibernate.annotations.CascadeType.MERGE })
@JoinColumn(name = "tag_association_id")
private ITagAssociatable tagAssociation;
}
@Entity
public class Asset implements ITagAssociatable {
@Id
private Long id;
private String name
}
@Entity
public class Staff implements ITagAssociatable {
@Id
private Long id;
private String name;
}
@Entity
public class Patient implements ITagAssociatable{
@Id
private Long id;
private String name
}