微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spring开发_Spring+Hibernate_HibernateTemplate

修改的类:

一个SessionFactory的引用,就可以执行持久化操作。

获取,也可以通过设值(setter)方式传入。

代码就可以做到,

com.b510.service.impl; java.util.List; javax.annotation.Resource; org.hibernate.SessionFactory; org.springframework.orm.hibernate3.HibernateTemplate; org.springframework.transaction.annotation.Propagation; org.springframework.transaction.annotation.Transactional; com.b510.domain.Person; com.b510.service.PersonService; @Transactional PersonServiceBean PersonService { 配置文件按名称sessionFactory注入属性sessionFactory, @Resource SessionFactory sessionFactory; HibernateTemplate hibernateTemplate; HibernateTemplate getHibernateTemplate() { (hibernateTemplate == ) { hibernateTemplate = HibernateTemplate(sessionFactory); } hibernateTemplate; } @Override delete(Integer id) { getHibernateTemplate().delete(getPerson(id)); } 查询的时候,不需要开启事务,并且指定为只读,这样可以提高查询效率 @Override @Transactional(propagation = Propagation.NOT_SUPPORTED,readOnly = ) Person getPerson(Integer id) { (Person) getHibernateTemplate().get(Person.,id); } 查询的时候,不需要开启事务,并且指定为只读,这样可以提高查询效率 @Override @Transactional(propagation = Propagation.NOT_SUPPORTED,readOnly = ) @SuppressWarnings("unchecked") List getPerson() { getHibernateTemplate().find("from Person"); } @Override save(Person person) { getHibernateTemplate().save(person); } @Override update(Person person) { getHibernateTemplate().update(person); } }

效果:

log4j:WARN No appenders Could be found logger (org.springframework.context.support.ClasspathXmlApplicationContext). log4j:WARN Please initialize the log4j system properly. Hibernate: (id) person Hibernate: spring.person (name,age,sex,id) (?,?,?) Hibernate: person0_.id id0_0_, person0_.name name0_0_, person0_.age age0_0_, person0_.sex sex0_0_ spring.person person0_ person0_.id? Hibernate: spring.person name?, age?, sex? id? Hibernate: person0_.id id0_0_, person0_.name name0_0_, person0_.age age0_0_, person0_.sex sex0_0_ spring.person person0_ person0_.id? Hibernate: person0_.id id0_, person0_.name name0_, person0_.age age0_, person0_.sex sex0_ spring.person person0_ hanyuan hongten hongten hello M hongten M hongten2 M hw M hongten hongten Hibernate: person0_.id id0_0_, person0_.name name0_0_, person0_.age age0_0_, person0_.sex sex0_0_ spring.person person0_ person0_.id?

效果是一样一样的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐