gpt4 book ai didi

java - Hibernate 关联对象的标准

转载 作者:太空宇宙 更新时间:2023-11-04 08:31:10 24 4
gpt4 key购买 nike

有一个“Item”类,它有一些名为“Vehicle”、“Vmodel”、“Category”、“ItemName”、“Brand”、“SizeModel”的关联类。每个类都有属性 ID 和名称(例如“Vehicle”类、“vid”和“vname”)。Item 类有 itemcode。

我还需要从给定的示例 Item 对象(称为“sItem”)获取 Item 对象,该对象等于我的示例项对象的属性和对象的关联对象属性。这是我的代码

Session session = getSession();
List list = null;
try {
list = session.createCriteria(Item.class).add(Example.create(sItem))
.createCriteria("vehicle").add(Example.create(sItem.getVehicle())).
createCriteria("vmodel").add(Example.create(sItem.getVmodel())).
createCriteria("category").add(Example.create(sItem.getCategory())).
createCriteria("itemName").add(Example.create(sItem.getItemName())).
createCriteria("brands").add(Example.create(sItem.getBrands())).
createCriteria("sizeModel").add(Example.create(sItem.getSizeModel())).
list();
} catch (HibernateException e) {
e.printStackTrace();
}

我提到了this (15.6 节和该节中的最后一个示例代码)。

执行上面的代码时,出现错误(org.hibernate.QueryException:无法解析属性:vmodel:Entity.Vehicle)。请任何人告诉我问题出在哪里以及我应该检查哪里。我的所有映射和其他配置类都是使用 Netbeans IDE 创建的。

最佳答案

尝试像这样拆分您的条件创建代码:

Criteria baseCrit = session.createCriteria(Item.class).add(Example.create(sItem));
baseCrit.createCriteria("vehicle").add(Example.create(sItem.getVehicle()));
baseCrit.createCriteria("vmodel").add(Example.create(sItem.getVmodel()));
baseCrit.createCriteria("category").add(Example.create(sItem.getCategory()));
baseCrit.createCriteria("itemName").add(Example.create(sItem.getItemName()));
baseCrit.createCriteria("brands").add(Example.create(sItem.getBrands()));
baseCrit.createCriteria("sizeModel").add(Example.create(sItem.getSizeModel()));
list = baseCrit.list();

关于java - Hibernate 关联对象的标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7482864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com