Jpa 查询多通字段
我在mysql中有一个自反字段(是的,外键指向同一个表的字段) 这是一个产品,外键必须告诉我该产品是否是包的一部分(这是一个设计决策) 这个运行得很好Jpa 查询多通字段,jpa,eclipselink,Jpa,Eclipselink,我在mysql中有一个自反字段(是的,外键指向同一个表的字段) 这是一个产品,外键必须告诉我该产品是否是包的一部分(这是一个设计决策) 这个运行得很好 Query paquetesQuery = EclipseLinkUtil.getEntityManagerFactory().createQuery("SELECT e FROM " + "Productos e WHERE e.productosidProductos IS NOT NULL"); 但是我需要这个
Query paquetesQuery = EclipseLinkUtil.getEntityManagerFactory().createQuery("SELECT e FROM "
+ "Productos e WHERE e.productosidProductos IS NOT NULL");
但是我需要这个,其中e.productosidProductos>0,因为当产品不是组的一部分时,它将是0。
多谢各位 你不能用Java写这个,是吗
Productos product = new Productos(...);
if (product > 0)
不,你不能,因为产品就是产品。这不是一个数字。因此,将产品与0进行比较毫无意义。但您在查询中这样做:
WHERE p2.productosidProductos > 0
其中productosidProductos
属性的类型为Productos
。如果要将产品ID(一个整数)与0进行比较,则可以:
WHERE p2.productosidProductos.id > 0
哦,我的上帝!非常感谢,如果我看不见这个,我就瞎了!我相信p2.productosidProductos只是一个属性而不是一个实体,但是错误告诉我们类型不正确!
WHERE p2.productosidProductos > 0
WHERE p2.productosidProductos.id > 0