Spring 数据访问与事务管理
1. 基于 JPA 的 DAO 编写
Spring - JPA 集成最初以 JpaTemplate
和相应的 JpaDaoSupport
类的模板形式存在,但现在更倾向于使用纯 JPA 方法。下面是一个纯 JPA DAO 的示例:
package com.habuma.spitter.persistence;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.habuma.spitter.domain.Spitter;
import com.habuma.spitter.domain.Spittle;
@Repository("spitterDao")
@Transactional
public class JpaSpitterDao implements SpitterDao {
private static final String RECENT_SPITTLES =
"SELECT s FROM S