-
Hibernate4创建SessionFactory时卡住不运行?5
使用Hibernate4写一个CRUD示例,javase程序,在main方法中创建sessionFactory,使用如下代码:private HibernateUtils() { try { if (this.sessionFactory == null) { Configuration cfg = new Configuration(); cfg.configure(new File("hibernate.cfg.xml")); cfg.setNamingStrategy(ImprovedNamingStrategy.INSTANCE); ServiceRegistry sr =new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry(); this.sessionFactory = cfg.addAnnotatedClass(ApplyInfo.class) .addAnnotatedClass(Contract.class) .addAnnotatedClass(Overview.class) .addAnnotatedClass(SegmentHtml.class) .buildSessionFactory(sr); } } catch (Exception e) { e.printStackTrace(); throw e; } }
在Eclipse中普通运行就会卡住不允许,如果是debug方式运行,就没有任何问题.
卡在如下日志处
五月 13, 2014 10:34:16 上午 org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
五月 13, 2014 10:34:16 上午 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.2.12.Final}
五月 13, 2014 10:34:16 上午 org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
五月 13, 2014 10:34:16 上午 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
五月 13, 2014 10:34:16 上午 org.hibernate.cfg.Configuration configure
INFO: HHH000042: Configuring from file: hibernate.cfg.xml
五月 13, 2014 10:34:17 上午 org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
五月 13, 2014 10:34:17 上午 org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator getConfiguredConnectionProviderName
WARN: HHH000208: org.hibernate.connection.C3P0ConnectionProvider has been deprecated in favor of org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider; that provider will be used instead.
五月 13, 2014 10:34:17 上午 org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator instantiateExplicitConnectionProvider
INFO: HHH000130: Instantiating explicit connection provider: org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider
五月 13, 2014 10:34:17 上午 org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider configure
INFO: HHH010002: C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/pgdata
五月 13, 2014 10:34:17 上午 org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider configure
INFO: HHH000046: Connection properties: {user=root, password=****}
五月 13, 2014 10:34:17 上午 org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider configure
org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider configure
到这里就不在向下执行.在Debug模式就没有任何问题,创建SessionFactory和Crud都正常.
mysql数据库驱动,hibernate4小版本号够尝试换成别的版本,都没能解决问题.
请大家指教!谢谢2014年5月13日 11:27
2个答案 按时间排序 按投票排序
-
hibernate4 中貌似提供的注解
Configuration configuration=new Configuration();
而不是 Configuration cfg = new Configuration();
是不是东西搞混了啊?2014年5月14日 01:40
-
刚刚在本地测试了下, public void testConnection() throws Exception { logger.info("----------start------------"); Configuration configuration = new Configuration(); configuration.configure("hibernate_sp.cfg.xml"); StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()); SessionFactory sessionFactory = configuration.buildSessionFactory(ssrb.build()); Session session = sessionFactory.openSession(); logger.info("----------end------------"); }
2014年5月13日 11:48
相关推荐
`SessionFactory`是线程安全的,通常在应用启动时创建一次,然后在整个应用生命周期中复用。它通过读取`hibernate.cfg.xml`或`hibernate.properties`配置文件来初始化,这些文件定义了数据库连接参数、方言、缓存...
HibernateSessionFactory.java
`SessionFactory`的创建是基于Hibernate的配置文件(通常为`hibernate.cfg.xml`)和映射文件(`.hbm.xml`)。配置文件包含了数据库连接信息,而映射文件定义了Java对象与数据库表之间的映射关系。 创建`...
SessionFactory是Hibernate的核心组件,它负责创建Session对象,而Session则是与数据库交互的接口。 首先,我们需要在项目中添加Spring和Hibernate的依赖。Spring的jar包通常包括spring-context、spring-beans、...
在传统的Hibernate使用模式中,开发者通常会在每个事务开始时创建一个新的Session,并在事务结束时关闭它。然而,`SessionFactory.getCurrentSession()`方法提供了一种不同的方式来获取Session,这种方式旨在支持...
Session s= HibernateSessionFactory.getSession(); 就是Hibernate的工具java类
4. **创建SessionFactory**:使用配置文件创建SessionFactory实例,它是Hibernate的核心,用于生成Session对象。 ```java Configuration config = new Configuration().configure(); SessionFactory sessionFactory ...
用于获得Session会话及关闭Session会话
在本文中,我们将深入探讨如何将Spring Boot框架与Hibernate ORM集成,特别是在不使用JPA(Java Persistence API)的情况下。Spring Boot以其便捷的自动配置和简化Java应用开发而广受欢迎,而Hibernate作为Java领域...
最后,初始化Hibernate SessionFactory,通过SessionFactory创建Session,然后在Session中执行操作。当Session启动时,Hibernate会根据`hibernate.hbm2ddl.auto`的设置自动处理表结构。 在给定的压缩包文件...
这个"hibernate4全套jar"压缩包包含了Hibernate 4框架运行所需的全部JAR文件,为Java开发人员提供了一个完整的Hibernate环境。 1. **Hibernate概述**: Hibernate 是一个开源的对象关系映射(ORM)框架,它允许...
总结来说,"Hibernate4 必备包"包含了运行和开发基于Hibernate4的应用程序所需的基本组件。这些组件涵盖了ORM核心、数据查询、事务管理、关联映射等多个方面,为开发者提供了强大且灵活的数据库操作工具。通过合理...
标题中的“Hibernate 4jar包”指的是包含所有所需组件的Java档案库,这些组件是运行和开发使用Hibernate 4的Java应用所必需的。这个包通常包括以下部分: 1. **hibernate-core.jar**:这是Hibernate的核心库,包含...
使用MyEclipse创建hibernate实例入门教程
实体类通过注解或XML文件定义映射规则,Spring通过`EntityScanner`扫描这些映射,确保它们在运行时被正确加载。 7. **懒加载和级联操作**: Hibernate支持对象关系的懒加载,通过`lazy="true"`可以延迟加载关联数据...