http://blog.csdn.net/palmer_xu/article/details/7332694
今天写hibernate时候遇到一些异常
代码:
出现异常情况:
出现以上原因是Session关闭
如果不是使用的SessionFactory.getSession()来获得Session。
而是使用SessionFactory.getCurrentSession()方法来获得Session时,当事务结束的时候,不管是提交还是回滚事务,hibernate会自动关闭Session的,
所以不需要手动关闭。
但是如果对于查询了?就没有启动事务管理!session啥时候关闭?待解决!因为如果在control层初始化被懒加载的对象汇报no session 异常的。
相关推荐
Hibernate Session 绑定线程解决方案 在 Java web 开发中, Hibernate 是一个非常流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在使用 Hibernate 进行数据库操作时,...
3. org.hibernate.Session Interface:提供了相关的数据库操作,如添、更、删、加、查等基本操作,非线程安全,轻量级,其创建及销毁消耗资源少。每个客户请求对应一个 Session。 4. org.hibernate.Transaction ...
org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider] at org.hibernate.service.internal....
2. org.hibernate.SessionFactory Interface:从该接口中获得 Session 实例,具备多线程安全和重量级特点,一个数据库对应一个 SessionFactory,其创建及销毁消耗资源多。 3. org.hibernate.Session Interface:和...
#hibernate.query.factory_class org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory ################# ### Platforms ### ################# ## JNDI Datasource #hibernate.connection....
3. **org.hibernate.boot** 包:这部分涉及Hibernate的启动过程和元数据加载,比如`MetadataSources`和`MetadataBuilder`,它们负责从不同来源(如XML配置文件、注解等)收集元数据。 4. **org.hibernate.type** 包...
- `org.hibernate.Session`:这是与数据库交互的主要接口,负责执行CRUD操作和查询。 - `org.hibernate.cfg.Configuration`:用于配置Hibernate,加载并构建SessionFactory。 - `org.hibernate.SessionFactory`:...
1. **配置**:首先,需要在项目中引入Hibernate库,并创建一个配置文件(通常是hibernate.cfg.xml),配置数据库连接信息。 2. **实体定义**:使用注解定义实体类及其属性,指定与数据库表的对应关系。 3. **...
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:251) at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:236) at org.hibernate.cfg.HbmBinder.bindRoot...
2. **org.hibernate.cfg**: 配置相关的类,如Configuration,用于加载Hibernate配置文件,建立SessionFactory。Environment类中定义了一些常量,比如连接数据库所需的属性。 3. **org.hibernate.cache**: 缓存管理...
1. `org.hibernate.Session`:类似于JDBC中的Connection,代表一次数据库会话,通过Session我们可以操作持久化对象。 2. `org.hibernate.cfg.Configuration`:配置对象,用于设置Hibernate的属性,如数据库连接信息...
query.setHint("org.hibernate.fetchSize", 20); // 设置查询结果集大小 query.setFetchSize(20); List<Game> games = query.list(); tx.commit(); } catch (HibernateException e) { if (tx != null) { tx....
- `hibernate.dialect`:指定对应数据库的方言,如`org.hibernate.dialect.PostgreSQLDialect`,以便Hibernate生成最优的SQL。 - `hibernate.show_sql`:如果设为`true`,Hibernate会在控制台输出所有执行的SQL...
- Session:是Hibernate的主要工作接口,负责与数据库的交互,提供了数据的增删改查操作。 - EntityManager:JPA的一部分,提供了对实体对象的操作,包括管理实体状态、事务处理等。 - Configuration:配置...
5. `org.hibernate.query`:包含HQL(Hibernate Query Language)和JPQL(Java Persistence Query Language)的处理逻辑。 三、核心组件解析 1. SessionFactory:它是所有Session的工厂,负责初始化数据库连接、...
hibernate-commons-annotations-4.0.1.Final.jar
7. **org.hibernate.event**:这个包包含了Hibernate的各种事件监听器,比如SaveOrUpdateEventListener、DeleteEventListener等,它们监听实体的生命周期事件,如保存、更新、删除等,可以自定义扩展行为。...
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">...
导入这些JAR文件后,开发者需要配置Hibernate的主配置文件(通常命名为`hibernate.cfg.xml`),指定数据库连接参数、实体类和映射文件等。接着,可以创建SessionFactory并打开Session,通过Session进行CRUD(创建、...
2.2、打开此文件,将“<property name="hibernate.connection.url">jdbc:sqlite:D:/EGSDatabase.egsdata”一行中的数据库文件("D:/EGSDatabase.egsdata")修改为合适的数据库文件。 注:附件包含了...