无法在休眠中获取会话工厂

时间:2012-03-06 04:59:49

标签: java hibernate

        try
        {
            System.out.println("openTxCoreSession() start...");
            TxCoreSessionFactory sessionFactory =
                TxCoreSessionFactory.getInstance("txcore.cfg.xml");
            System.out.println("Session factory created....");

            Session session = sessionFactory.openSession();
            System.out.println("session created");
            return session;
        }

        catch (Exception e)
        {
            System.out.println(e.getMessage());
            e.printStackTrace();
            return null;
        }

1 个答案:

答案 0 :(得分:1)

Hibernate不容易入手,需要花费一点时间/精力。

对于那些困惑的人,MyEclipse或JBoss Hibernate Tools,它没有什么不同。

在服务器平台上使用Hibernate的主要原因是摆脱复杂的JDBC地狱漏洞。您认为需要对象关系映射解决方案的唯一原因是为了在代码中获得一些整洁,并在设计中内置了良好的旧可重用性。

以下也适用于我。

           if (sessionFactory == null) {
                try {
                    String jdbcProperty = "jdbc:mysql://"+Globals.DBSERVER+"/MyDB" ;
                    Configuration configuration = new Configuration().configure() ;                 
                    sessionFactory = configuration.buildSessionFactory(new ServiceRegistryBuilder()
                                .buildServiceRegistry());

                } catch (Exception e) {
                    log.fatal("Unable to create SessionFactory for Hibernate");
                    log.fatal(e.getMessage());
                    log.fatal(e);
                    e.printStackTrace();
                }
            }

我的eclipse项目的src文件夹中的Hibernate.properties。

hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost/MyDB
hibernate.connection.username=MYROOT
hibernate.connection.password=myPASSWORD
hibernate.connection.pool_size=2
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect

还要确保配置xml文件(txcore.cfg.xml)位于应用程序的类路径中。