代码:
public static void main(String[] args) {
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
String hql = "select distinct  a from Orders a join fetch a.ordersLines b where a.odrId=?";
Query query = session.createQuery(hql);
query.setParameter(0, 1);
ArrayList<Orders> values = (ArrayList<Orders>) query.list();
                for (Orders cstCustomer : values) {
System.out.println(cstCustomer.getOdrId());
}
调试时:Session session = HibernateSessionFactory.getSession();这语句就报错,配置没问题?求解,谢啦~~
org.hibernate.PropertyNotFoundException: Could not find a getter for orders in class com.beans.OrdersLine
at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:282)
at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:275)
at org.hibernate.mapping.Property.getGetter(Property.java:260)
at org.hibernate.tuple.PojoEntityTuplizer.buildPropertyGetter(PojoEntityTuplizer.java:255)
at org.hibernate.tuple.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:121)
at org.hibernate.tuple.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:64)
at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:257)
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:412)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:108)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:216)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
at com.util.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31)
at com.dao.CstCustomerDao.main(CstCustomerDao.java:325)
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not read mappings from resource: com/beans/SysRight.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:485)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
at com.util.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:69)
at com.util.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53)
at com.dao.CstCustomerDao.main(CstCustomerDao.java:325)
Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.beans.SysRight
at org.hibernate.cfg.Mappings.addClass(Mappings.java:118)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:154)
at org.hibernate.cfg.Configuration.add(Configuration.java:386)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
... 8 more
Exception in thread "main" java.lang.NullPointerException
at com.dao.CstCustomerDao.main(CstCustomerDao.java:326)

解决方案 »

  1.   

    org.hibernate.PropertyNotFoundException: Could not find a getter for orders in class com.beans.OrdersLine
    Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.beans.SysRight
    从这两句进行分析来看是找不到属性,说明你的实体类和实体类对应的映射文件中有属性没有对上或者漏了,楼主仔细检查一下映射文件。