Configuration接口
Configuration接口的作用是对Hibernate进行配置,以及对它进行启动。在Hibernate的启动过程中,Configuration类的实例首先定位映射文档的位置,读取这些配置,然后创建一个SessionFactory对象。
SessionFactory 接口
这里用到了一个设计模式――工厂模式,用户程序从工厂类SessionFactory中取得Session的实例。SessionFactory并不是轻量级的,一个项目通常只需要一个 SessionFactory就够了,但是当你的项目要操作多个数据库时,那你必须为每个数据库指定一个SessionFactory。
SessionFactory在Hibernate中实际起到了一个缓冲区的作用,它缓冲了Hibernate自动生成的SQL语句和一些其它的映射数据,还缓冲了一些将来有可能重复利用的数据。
Configuration接口的作用是对Hibernate进行配置,以及对它进行启动。在Hibernate的启动过程中,Configuration类的实例首先定位映射文档的位置,读取这些配置,然后创建一个SessionFactory对象。
SessionFactory 接口
这里用到了一个设计模式――工厂模式,用户程序从工厂类SessionFactory中取得Session的实例。SessionFactory并不是轻量级的,一个项目通常只需要一个 SessionFactory就够了,但是当你的项目要操作多个数据库时,那你必须为每个数据库指定一个SessionFactory。
SessionFactory在Hibernate中实际起到了一个缓冲区的作用,它缓冲了Hibernate自动生成的SQL语句和一些其它的映射数据,还缓冲了一些将来有可能重复利用的数据。
还是关于could not initialize proxy - no Session的问题
hibernate2与hibanete3在lazy的默认值上有区别:2中默认为lazy="false".而三中默认为proxy,我们可以把它看作是true.
异常:
程序代码
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
hibernate2与hibanete3在lazy的默认值上有区别:2中默认为lazy="false".而三中默认为proxy,我们可以把它看作是true.
异常:
程序代码
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
复制内容到剪贴板 程序代码
String sql ="Select COUNT(*) FROM PRODUCTS as p Where p.g_id="+ cate.getId() +"";
Query query = session.createSQLQuery(sql, "p", Product.class);
Query query = session.createSQLQuery(sql);
Object[] ob=query.list().toArray();
int num = =Integer.parseInt(ob[0].toString());
Query query = session.createSQLQuery(sql, "p", Product.class);
Query query = session.createSQLQuery(sql);
Object[] ob=query.list().toArray();
int num = =Integer.parseInt(ob[0].toString());
08-07
12
Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
作者:Java伴侣 日期:2008-07-12
今天在做自身关联的时候遇到的问题:
Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1解决方案
阻力前提 :当有张表同一个字段管理2张表是,今天用one-to-moeny试了一下,
开始配置one-to-many时,是不能同时写入数据;
后来《Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1》不能同时跟新;找了资料大概理解里面的原理,但不是完全明白哦!还需要继续look@@;
xml中set配置:
<set name="offerd" lazy="false" inverse="false" outer-join="false" cascade="all"> <key column="offerID" /> <one-to-many class="OfferDetail"/> </set>
Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1解决方案
阻力前提 :当有张表同一个字段管理2张表是,今天用one-to-moeny试了一下,
开始配置one-to-many时,是不能同时写入数据;
后来《Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1》不能同时跟新;找了资料大概理解里面的原理,但不是完全明白哦!还需要继续look@@;
xml中set配置:
<set name="offerd" lazy="false" inverse="false" outer-join="false" cascade="all"> <key column="offerID" /> <one-to-many class="OfferDetail"/> </set>
Tags: Batch up&#100;ate manay-to-one