Мне кажется, здесь определены некоторые ненужные коллекции. В любом случае:
@JoinTable(name = "Products_Related", joinColumns = {
@JoinColumn(name = "SKU", referencedColumnName = "SKU")}, inverseJoinColumns = {
@JoinColumn(name = "RelatedSKU", referencedColumnName = "SKU")})
@ManyToMany
private Collection<Products> productsCollection2;
Эта часть (она присутствует в вашем коде) должна дать вам нужные продукты. Просто переименуйте его в relatedProducts
и соответствующий установщик / получатель.
Обновление: Вы можете получить объект по:
Product p = entityManager.find(Product.class, yourProductId);
p.getRelatedProducts();
Получение менеджера сущностей зависит от вашей настройки, и лучшее место для поиска того, как его получить, - учебник.