0

我有一个非常简单的网络应用程序,它生成一个随机数并将其放入数据库中。

当我单击要调用 servlet 的按钮时,会产生以下错误:

Aug 22, 2013 10:05:22 AM com.nrs.hibernate.dao.FileUploadDAO persist_cs_with_cfg
INFO: Persisting FileUploadPojo instance ...
Aug 22, 2013 10:05:23 AM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
Aug 22, 2013 10:05:23 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.0.1.Final}
Aug 22, 2013 10:05:23 AM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Aug 22, 2013 10:05:23 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Aug 22, 2013 10:05:23 AM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
Aug 22, 2013 10:05:23 AM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
Aug 22, 2013 10:05:23 AM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: FileUploadPojo.hbm.xml
Aug 22, 2013 10:05:23 AM org.hibernate.cfg.Configuration doConfigure


**INFO: HHH000041: Configured SessionFactory: null**


Aug 22, 2013 10:05:23 AM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.ogm.dialect.NoopDialect
Aug 22, 2013 10:05:23 AM org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation
INFO: HHH000422: Disabling contextual LOB creation as connection was null
Aug 22, 2013 10:05:24 AM org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
INFO: HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory
Aug 22, 2013 10:05:24 AM com.nrs.hibernate.util.HibernateUtil <clinit>
SEVERE: Initial SessionFactory creation failed !

我的html很简单:

<form action="LuckyNumberServlet" method="POST">
    <input type="submit" value="Generate Lucky Number">
</form>

而且我的 java 方法非常简单(来自 LuckyNumberDAO):

public void persist_cs_with_cfg(LuckyNumberPojo transientInstance) throws Exception {

        log.log(Level.INFO, "Persisting LuckyNumberPojo instance ...");
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        try {
            session.beginTransaction();
            session.persist(transientInstance);
            session.getTransaction().commit();

            log.log(Level.INFO, "Persist successful...");
        } catch (RuntimeException re) {
            session.getTransaction().rollback();
            log.log(Level.SEVERE, "Persist failed...", re);
            throw re;
        }
    }

我错过了什么?

编辑:配置文件:

休眠.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    <property name="hibernate.current_session_context_class">thread</property>
    <property name="hibernate.ogm.datastore.provider">mongodb</property>
    <property name="hibernate.ogm.datastore.grid_dialect">org.hibernate.ogm.dialect.mongodb.MongoDBDialect</property>
    <property name="hibernate.ogm.mongodb.database">tomcat_db</property>
    <property name="hibernate.ogm.mongodb.host">127.0.0.1</property>
    <property name="hibernate.ogm.mongodb.port">27017</property>
    <mapping resource="LuckyNumberPojo.hbm.xml"/>
  </session-factory>
</hibernate-configuration>

幸运数字Pojo.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.nrs.hibernate.pojo.LuckyNumberPojo" table="jdbc">
        <id name="id" type="string">
            <column name="id" />
            <generator class="uuid2" />
        </id>
        <property name="luckynumber" type="int">
            <column name="luckynumber"/>
        </property>
    </class>
</hibernate-mapping>

HibernateUtil.java:

 static {
        try {
            // create a new instance of OmgConfiguration
            OgmConfiguration cfgogm = new OgmConfiguration();

            //process configuration and mapping files
            cfgogm.configure();
            // create the SessionFactory
            serviceRegistry = new ServiceRegistryBuilder().applySettings(cfgogm.getProperties()).buildServiceRegistry();
            sessionFactory = cfgogm.buildSessionFactory(serviceRegistry);
        } catch (Throwable ex) {
            log.log(Level.SEVERE, "Initial SessionFactory creation failed !", ex);
            throw new ExceptionInInitializerError(ex);
        }
    }

目录结构:

目录结构

4

0 回答 0