У меня есть рефлексивное поле в mysql (да, с внешним ключом, указывающим на ту же таблицу).query manytoOne field
Этот продукт является продуктом, а внешний ключ должен сообщать мне, является ли продукт частью пакета (это дизайнерское решение).
@Column(name = "servicio")
private Boolean servicio;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "productosidProductos")
private List<Productos> productosList;
@JoinColumn(name = "productos_idProductos", referencedColumnName = "idProductos")
@ManyToOne(optional = false)
private Productos productosidProductos;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idProductos")
private Integer idProductos;
и я получаю это один
Проблема с компиляцией [SELECT FROM е Productos е РЕГИСТРИРУЙТЕСЬ e.productosidProductos р РЕГИСТРИРУЙТЕСЬ e.productosidProductos p2 WHERE p2.productosidProductos> 0]. [93, 116] Отображение отношения 'p2.productosidProductos' не может быть использован в сочетании с оператором>
при запуске этого
Query paquetesQuery = EclipseLinkUtil.getEntityManagerFactory().createQuery("SELECT e FROM Productos e JOIN e.productosidProductos p JOIN e.productosidProductos p2 WHERE p2.productosidProductos > 0");
это работает очень хорошо
Query paquetesQuery = EclipseLinkUtil.getEntityManagerFactory().createQuery("SELECT e FROM "
+ "Productos e WHERE e.productosidProductos IS NOT NULL");
, но мне нужно это, где WHERE e.productosidProductos> 0, потому что, когда продукт не входит в группу, будет 0. большое вам спасибо!
О, мой бог! Большое спасибо, я был слепым, если я не мог видеть этот! я предположил, что p2.productosidProductos был просто свойством не сущностью, но ошибка говорила, что тип был неправильным! – GoAntonio