Home | 簡體中文 | 繁體中文 | 雜文 | 打賞(Donations) | ITEYE 博客 | OSChina 博客 | Facebook | Linkedin | 知乎專欄 | Search | Email

10.7. EntityManager

		
@Repository 
@Transactional(readOnly = true)  
class AccountServiceImpl implements AccountService {  
 
  @PersistenceContext 
  private EntityManager em;  
 
  @Override 
  @Transactional 
  public Account save(Account account) {  
 
    if (account.getId() == null) {  
      em.persist(account);  
      return account;  
    } else {  
      return em.merge(account);  
    }  
  }  
 
  @Override 
  public List<Account> findByCustomer(Customer customer) {  
 
    TypedQuery query = em.createQuery("select a from Account a where a.customer = ?1", Account.class);  
    query.setParameter(1, customer);  
 
    return query.getResultList();  
  }  
  
  @Override 
  public List<Customer> findAll(int page, int pageSize) {  
 
    TypedQuery query = em.createQuery("select c from Customer c", Customer.class);  
 
    query.setFirstResult(page * pageSize);  
    query.setMaxResults(pageSize);  
 
    return query.getResultList();  
  }  
   
}