1

尝试创建实体图时出现以下错误:

java.lang.IllegalArgumentException:无法在此 ManagedType [com.example.RelatedObject] 上找到具有给定名称 [myRelatedObject] 的属性

这是实体:

@Entity
@Data
@NoArgsConstructor
@NamedEntityGraph(name = "withRelatedObject",
    attributeNodes = {
        @NamedAttributeNode("myRelatedObject")
    })
public class RelatedObject {

  @Id
  @GeneratedValue
  int id;

  @AnyMetaDef(name = "related",
      idType = "integer",
      metaType = "string",
      metaValues = {
          @MetaValue(value = "role", targetEntity = Role.class),
          @MetaValue(value = "user", targetEntity = User.class)
      })
  @Any(metaDef = "related", metaColumn = @Column(name = "type"), fetch = FetchType.LAZY)
  @JoinColumn(name = "related_object")
  private BaseEntity myRelatedObject;

}

似乎实体图的 @Any 注释有问题,但我找不到关于这两者如何相互作用的一条信息。

有谁知道发生了什么?有没有办法通过@Any 使用实体图?

谢谢

4

0 回答 0