【发布时间】:2020-06-15 08:20:16
【问题描述】:
我有两个实体关系的问题,他们互相调用,我想我得到了一个无限的获取:
@Entity
@Table(name = "domaine")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Domaine implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToMany
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@JoinTable(name = "lien_domaine_specialite",
joinColumns = @JoinColumn(name="domaine_id", referencedColumnName="ID"),
inverseJoinColumns = @JoinColumn(name="specialite_id", referencedColumnName="ID"))
private Set<Specialite> specialites = new HashSet<>();
@Entity
@Table(name = "specialite")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Specialite implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToMany(mappedBy = "specialites")
@JsonIgnore
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
private Set<Domaine> domaines = new HashSet<>();
@ManyToOne
private Domaine domaine;
当我添加这个关系ahd时出现问题:
@ManyToOne
private Domaine domaine;
当我像这样加载 Domaine 实体时:
Select domaine from Domaine domaine left join fetch domaine.specialites where domaine.id = ?1
有没有办法告诉Specialite 在我不需要时不要加载Domaine?
【问题讨论】:
标签: java json spring hibernate jpa