Dada la siguiente entidad (algunas columnas omitido de esta larga definición por razones de brevedad):APP: la sintaxis de combinación tabla
@Table(name = "Products")
public class Products implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "SKU")
private String sku;
@Basic(optional = false)
@Column(name = "ProductName")
private String productName;
private boolean allowPreOrder;
@ManyToMany(mappedBy = "productsCollection")
private Collection<Categories> categoriesCollection;
@JoinTable(name = "Products_CrossSell", joinColumns = {
@JoinColumn(name = "SKU", referencedColumnName = "SKU")}, inverseJoinColumns = {
@JoinColumn(name = "CrossSKU", referencedColumnName = "SKU")})
@ManyToMany
private Collection<Products> productsCollection;
@ManyToMany(mappedBy = "productsCollection")
private Collection<Products> productsCollection1;
@JoinTable(name = "Products_Related", joinColumns = {
@JoinColumn(name = "SKU", referencedColumnName = "SKU")}, inverseJoinColumns = {
@JoinColumn(name = "RelatedSKU", referencedColumnName = "SKU")})
@ManyToMany
private Collection<Products> productsCollection2;
@ManyToMany(mappedBy = "productsCollection2")
private Collection<Products> productsCollection3;
¿Cómo consigo el conjunto de productos de un determinado producto SKU?
La tabla products_related se parece a esto:
sé cómo obtener la respuesta utilizando SQL, pero soy nuevo en JPA así que no he asimilado bien la Sintaxis de la API y la consulta todavía.
+1 por fallarme: me gustaría ver la solución. Eliminé mi respuesta anterior porque era incorrecta. Si lo resuelvo, publicaré uno nuevo o lo recuperaré. Buena Suerte :) – javamonkey79