求用hibernate annotation做的完整案例

要是用◎OneToMany写的,至少要三张表关联,最好是用hibernate,spring,struts做的由底层到顶层的那种。不要太简单。谢谢先!... 要是用◎OneToMany写的,至少要三张表关联,最好是用hibernate,spring,struts做的由底层到顶层的那种。 不要太简单。谢谢先! 展开
 我来答
dwhazx
2008-07-25 · TA获得超过679个赞
知道小有建树答主
回答量:889
采纳率:0%
帮助的人:568万
展开全部
2,基本的一些过程如下:

3,首先要引入支持包,Spring Core ,Spring Persistence Core,Spring AOP,还要引入Commons Pool。
4, 然后从配置文件开始:

myspringcontext.xml: 对于原来的Hibernate配置文件,我采取了保留原来配置的方法,因为在Spring中配置Hibernate的一些属性感觉不方便。
内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="annotationsessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

<property name="configLocation"
value="file:src/annotationhibernate.cfg.xml">
</property>
</bean>

<bean id="PictureProxy" class="dian.ikeel.DAL.PictureDAL">
<property name="sessionFactory">
<ref local="annotationsessionFactory" />
</property>
</bean>

</beans>

这里需要注意的就是应该用AnnotationSessionFactoryBean。
指向的hibernate.cfg.xml 在Step By Step (2)中有详细内容,可以参看。

<property name="sessionFactory">
<ref local="annotationsessionFactory" />
</property>

这句配置的作用我想就是,在getBean获取PictureProxy的时候,把他绑定到了一个SessionFactory提供的Session。省去了我们自己编码或得Session的过程了

5,我的程序其他部分逻辑是这样的:

A, 持久化层: Picture.java :用Annotatioin标注,在Step By Step (2)中有详细。

B,数据访问接口:IPictureDAL :
代码:

package dian.ikeel.IDAL;

import dian.ikeel.annotation.*;
public interface IPictureDAL {

public void insertPicture(Picture pic);
}

C,数据访问接口的实现:PictureDAL,实现了IPictureDAL ,同时继承了HibernateDAOSupport. 因为我们要用到getTemplate。如果PictureDAL没有实现接口的话,会出现类型转换错误。这涉及到动态代理的原理。
代码如下:
package dian.ikeel.DAL;

import dian.ikeel.annotation.*;
import dian.ikeel.IDAL.*;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class PictureDAL extends HibernateDaoSupport implements IPictureDAL {

public void insertPicture(Picture pic)
{
getHibernateTemplate().save(pic);
}
}

D,然后就是程序入口了:

public static void main(String[] args) {

Resource rs=new FileSystemResource("src/myspringcontext.xml");
BeanFactory bf=new XmlBeanFactory(rs);

IPictureDAL pic = (IPictureDAL)bf.getBean("PictureProxy");
Picture pic1 = new Picture();
pic1.setPicname("liang");
pic1.setPicsize(123);
pic.insertPicture(pic1);
System.out.println("AnnotationEntry excuted");
}

这样就基本完成了最简单的Hibernate+Spring with Annotation的例子。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式