我的Empresa
实体有两个以这种方式映射的嵌套集合:
@ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST})
@JoinTable(
name = "bandeiras_aceitas",
joinColumns = {@JoinColumn(name = "empresa_id", nullable = false)},
inverseJoinColumns = {@JoinColumn(name = "bandeira_id", nullable = false)})
private List<BandeiraCartao> bandeirasAceitas;
@OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL},
mappedBy = "empresa")
private List<HorarioAtendimento> horariosAtendimento;
我实际上在horariosAtendimento
上有12条记录,bandeirasAceitas
内只有1条记录用于我想要获取的Empresa
。但是当我使用我的find
方法时,'bandeirasAceitas'中有12条记录,问题是jpa(hibernate)生成的sql正在重复记录,如(horariosAtendimento
上的记录数* bandeirasAceitas
上的记录。我该如何解决这个问题?