多对多映射spring jpa命名实体

时间:2018-04-04 22:19:09

标签: java spring jpa

这是一个实体。

@NamedEntityGraph(name = "graph.TicketType.subTypes",
        attributeNodes = @NamedAttributeNode(value = "subTypes", subgraph = "subTypes"))
@Data
@Entity
public class TType extends AbstractBaseEntity {

    private String name;

    @Column(unique = true)
    private String pubId;

    @ManyToMany(mappedBy = "tTypes", fetch = FetchType.EAGER)
    private Set<TSubType> subTypes;
}

和subType类:

@Entity
@Data
public class TSubType extends AbstractBaseEntity {

    private String name;

    @Column(unique = true)
    private String pubId;

    @ManyToMany
    List<TType> tTypes;
}

我无法使用此json在TType中插入数据。

{
      "name": "BC-Tall",
      "pubId": "BC",
      "subTypes": [
        {
          "name": "Agg.",
          "pubId": "AGG"
        }
      ]
    }

我的地图中有错误吗? 我收到此错误:Illegal use of mappedBy on both sides of the relationship

我需要通过NamedEntityGraph来改变这项工作吗?

编辑:我删除了双向映射。现在我可以插入数据了。 但是,当我检索时,TType中没有子类型。 subTypes是一个空列表。

0 个答案:

没有答案