问题描述
有一个类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();
}
我提到(15.6节和该部分的最后一个示例代码)。
执行上述代码时,发生错误
(org.hibernate.QueryException:无法解析属性:vmodel:Entity.Vehicle)。请任何人告诉我问题在哪里,我应该在哪里查看。我的所有映射和其他配置类都是使用Netbeans IDE创建的。尝试拆分您的条件创建代码: p>
标准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();
There is a class"Item" and it has some associated classes called Vehicle,Vmodel,Category,ItemName,Brand,SizeModel.Those each class has properites id and a name(for example Vehicle class, "vid" and "vname").Item class has itemcode.
Also I need to get Item objects from a given sample Item object(called "sItem
") which equal to my sample item object's properties and my object's associated objects properties.Here is my code
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();
}
I refered this (15.6 section and last sample code in that section).
when this above code is executed, an error occures(org.hibernate.QueryException: could not resolve property: vmodel of: Entity.Vehicle). Please any one let me know where is the problem and where should I checked. My all mappings and other configuring classes are created with Netbeans IDE.
Try to split your criteria creation code like this:
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();
这篇关于关联对象上的Hibernate标准的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!