关联对象的Hibernate标准
有一个类“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 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();
- Weblogic 12hibernatevalidationexception
- 如何在Hibernate中执行非多态HQL查询?
- Hibernate使用嵌入的ElementCollection抛出ConcurrentModificationException
- Hibernate自定义UserType无法正常工作
- Sprint引导数据JPA:没有类型为’java.util.Set ‘的限定bean
- 即使在一对多关系中使用orphanRemoval = true,孤儿仍保留在数据库中(JPA / Hibernate)
- 通过JPA注释更改类层次结构分支中的inheritance策略
- Hibernate无法打开连接
- 在JPA中对各个列使用DISTINCT关键字