Java netbeans中的Hibernate新手帮助

Java netbeans中的Hibernate新手帮助,java,hibernate,netbeans,annotations,Java,Hibernate,Netbeans,Annotations,我学习hibernate,如果可以使用xml或注释,我更喜欢注释,所以尝试这种方法 自动创建hibernate.cfg.xml(Netbeans向导) 自动创建的逆向工程xml 自动创建的HibernateUtil.java 自动创建带有注释的POJO类 然后编码: SessionFactory session = HibernateUtil.getSessionFactory(); CallInfo ci = new CallInfo(1234567); //POJO cla

我学习hibernate,如果可以使用xml或注释,我更喜欢注释,所以尝试这种方法

  • 自动创建hibernate.cfg.xml(Netbeans向导)
  • 自动创建的逆向工程xml
  • 自动创建的HibernateUtil.java
  • 自动创建带有注释的POJO类
  • 然后编码:

        SessionFactory session = HibernateUtil.getSessionFactory();
        CallInfo ci = new CallInfo(1234567); //POJO class
        session.getCurrentSession().save(ci);
    
    hibernate仍然需要xml,为什么

    Exception in thread "main" java.lang.ExceptionInInitializerError
    at ru.asteros.sochi.feedback.util.HibernateUtil.<clinit>(HibernateUtil.java:28)
    at ru.asteros.sochi.feedback.SochiFeedback.main(SochiFeedback.java:52)
    Caused by: org.hibernate.MappingNotFoundException: resource: ru/asteros/sochi/feedback/CallInfo.hbm.xml not found
        at org.hibernate.cfg.Configuration.addResource(Configuration.java:563)
    
    线程“main”java.lang.ExceptionInInitializeError中的异常 在ru.asteros.sochi.feedback.util.HibernateUtil.(HibernateUtil.java:28) 位于ru.asteros.sochi.feedback.SochiFeedback.main(SochiFeedback.java:52) 原因:org.hibernate.MappingNotFoundException:resource:ru/asteros/sochi/feedback/CallInfo.hbm.xml未找到 位于org.hibernate.cfg.Configuration.addResource(Configuration.java:563)
    可能
    CallInfo.hbm.xml
    hibernate.cfg.hbm
    中被引用,并且它不在有效的类路径中

    可能
    CallInfo.hbm.xml
    hibernate.cfg.hbm
    中被引用,并且它不在有效的类路径中

    你是对的,它就在那里。。所以我删除了XML中的这一行,现在Java说:
    线程“main”org.hibernate.hibernateeexception中的异常:没有配置CurrentSessionContext!在ru.asteros.sochi.feedback.SochiFeedback.main(SochiFeedback.java:54)的org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:542)上。。所以我删除了XML中的这一行,现在Java说:
    线程“main”org.hibernate.hibernateeexception中的异常:没有配置CurrentSessionContext!位于org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:542),位于ru.asteros.sochi.feedback.SochiFeedback.main(SochiFeedback.java:54)
    ,检查生成的
    HibernateUtil
    并确保它正在使用
    AnnotationConfiguration
    而不是
    Configuration
    。检查生成的
    HibernateUtil
    并确保它正在使用
    AnnotationConfiguration
    而不是
    Configuration