J'ai deux classes d'entités et le référentiel ressemble à ce qui suit. Je fais une requête jpql select.
Abonnement.java
@Entity
@Table(name="Subscription")
public class Subscription implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="SubscriptionId", nullable=false)
private Integer subscriptionId;
@Column(name="BaseProductId", nullable=false)
private Integer baseProductId;
@ManyToMany(fetch = FetchType.LAZY, mappedBy="subscription")
private List<Abc> abc;
}
Abc.java
@Entity
@Table(name="abc")
public class Abc implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="SubscriptionId", nullable=false)
private Integer id;
@ManyToMany(fetch = FetchType.LAZY)
@JoinColumn(name="id", referencedColumnName="BaseProductId", insertable = false, updatable = false, nullable = false)
private List<Subscription> subscription;
}
AbcRepository.java
@Repository
public interface AbcRepository extends JpaRepository<Abc, Integer> {
@Query(value="SELECT bpp FROM Abc bpp JOIN bpp.subscription s WHERE s.subscriptionId = ?1")
public List<Abc> findBppm(Integer a);
}
}
Sélectionnez la génération de requêtes :
select ... from abc bp_ inner join abc_subscription ... inner join Subscription subscripti2_ on ... where subscripti2_.SubscriptionId= ?
... :- il y a quelque chose à cet endroit.
Je joins abc et subscription, mais dans la requête, Hibernate crée une entité supplémentaire séparée par _, c'est-à-dire abc_subscription.
Une idée de ce que je fais mal ? Merci d'avance.