Java 关联对象上的休眠条件
有一个类“Item”,它有一些相关的类,称为Vehicle、Vmodel、Category、ItemName、Brand、SizeModel。每个类都有属性id和名称(例如Vehicle class、“vid”和“vname”)。Item类有itemcode 此外,我还需要从给定的示例项对象(称为“Java 关联对象上的休眠条件,java,hibernate,hibernate-criteria,Java,Hibernate,Hibernate Criteria,有一个类“Item”,它有一些相关的类,称为Vehicle、Vmodel、Category、ItemName、Brand、SizeModel。每个类都有属性id和名称(例如Vehicle class、“vid”和“vname”)。Item类有itemcode 此外,我还需要从给定的示例项对象(称为“sItem”)中获取项对象,该对象等于示例项对象的属性和对象的关联对象属性。 这是我的密码 Session session = getSession(); List list = nu
sItem
”)中获取项对象,该对象等于示例项对象的属性和对象的关联对象属性。
这是我的密码
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 of: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();
尝试按如下方式拆分条件创建代码:
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();
好奇:这个问题和Swing有什么关系?