Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

第 49 章 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();  
  }  
   
}