Spring与Hibernate的融合


Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58

1,? 利用myeclipse,会少中一个jar包,需要手动加入 commons-pool-1.3.jar
http://mirrors.ibiblio.org/pub/mirrors/maven2/commons-pool/commons-pool/1.3/commons-pool-1.3.jar
或查找myeclipse安装目录, 在如下位置
myeclipse\eclipse\plugins\com.genuitec.org.hibernate.eclipse_6.0.1.zmyeclipse601200710\lib\springhibernate

2, 添加Spring后加hibernate时,hibernate最好都选中所有类库,之后选择Spring的applicationContext.xml,
这样就会用getHibernateTemplate().save(transientInstance)之类代替session进行托管,这是Spring与Hibernate整合的最大好处。
hibernate 的hbm.xml文件要在applicationContext.xml中引入:即
<bean id=”sessionFactory”
class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”>

<property name=”mappingResources”>
??? <list>
??????? <value>com/lvjian/model/News.hbm.xml</value>??????
??? </list>
</bean>

对DAO注入:sessionFactory
<bean id=”consultingDao”
parent=”dao”>
<property name=”sessionFactory” ref=”sessionFactory” />?
????????? //sessionFactory当指定Spring接管hibernate时自动配置, DAO类要实现HibernateSurrort类
</bean>

3, 在应用中,最好对生成的dao进行包装,用一个接口来定义dao方法,在action中利用这些接口提供的方法进行操作
而在applicationContext.xml 对接口id注入impl类!
即:在表层上只留接口,实现由applicationContext.xml配置完成
方法主要可以有:
???????????? 1, 查询? getAdmin(id) ,getAdmins 得到所有, findByProperty(String propertyName, Object value)
???????????? 2, 插入 insertAdmin(Admin obj)
???????????? 3,更新? updateAdmin(Admin obj)
???????????? 4 删除?? deleteAdmin(Integer obj_id)

注:DAO类要实现HibernateSurrort类
com.yourcompany.dao.inf
com.yourcompany.dao.impl