1
我正在用Hibernate中的多个连接编写查询。 现在我需要查询所有使用某个项目的模型和相关产品。在休眠中将多个结果合并在一起
我创建的HQL查询,它看起来像:
"FROM Model m inner join fetch m.products p inner join p.itemsInProducts iip inner join iip.item i where i.number = '" + itemID + "' and m.active = '1' and p.active = '1' and iip.active = '1'"
它给了我一些结果返回。但是我有多个Model对象,但是使用了不同的产品。有什么方法可以将所有模型对象合并到同一个模型中?
我在Model类变量的样子:
public class Model implements java.io.Serializable {
private long id;
private ItemClass itemClass;
private OrderProcessorCode orderProcessorCode;
private String name;
private boolean active;
private long companyId;
@JsonManagedReference
private Set products = new HashSet(0);
private Set itemsConsumedPerModels = new HashSet(0);
private Set itemsInModels = new HashSet(0);
而且产品:
public class Product implements java.io.Serializable {
private long id;
private ItemClass itemClass;
private ItemType itemType;
private OrderProcessorCode orderProcessorCode;
private String number;
private String description;
private boolean baseProduct;
private boolean otmProduct;
private boolean active;
private long companyId;
private Set itemsInProducts = new HashSet(0);
@JsonBackReference(value = "product-models")
private Set models = new HashSet(0);
private Set optionsPerProductsForProductId = new HashSet(0);
private Set optionsPerProductsForOptionId = new HashSet(0);
private Set productionOrders = new HashSet(0);
如何删除“WHERE”子句? – Antoniossss
Where子句是正确的。我改变了我的代码以手动合并模型对象到几个for循环中。但我不认为这是最好的溶剂。 – JimmyD