package com.bahadirakin.dao;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.bahadirakin.model.Car;
@Transactional(propagation = Propagation.MANDATORY, rollbackFor = Exception.class, value = "transactionManager")
public class CarDao implements ICarDao {
private static final long serialVersionUID = 1L;
@PersistenceContext(unitName = "entityManagerFactory")
private EntityManager entityManager;
public EntityManager getEntityManager() {
return entityManager;
}
public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}
/* (non-Javadoc)
* @see com.bahadirakin.dao.ICarDao#detach(java.lang.Object)
*/
@Override
public void detach(Object arg0) {
entityManager.detach(arg0);
}
/* (non-Javadoc)
* @see com.bahadirakin.dao.ICarDao#findAll()
*/
@Override
public List<Car> findAll() {
System.out.println(entityManager);
return entityManager.createQuery("SELECT car FROM Car car").getResultList();
}
/* (non-Javadoc)
* @see com.bahadirakin.dao.ICarDao#merge(com.bahadirakin.model.Car)
*/
@Override
public Car merge(Car arg0) {
return entityManager.merge(arg0);
}
/* (non-Javadoc)
* @see com.bahadirakin.dao.ICarDao#persist(com.bahadirakin.model.Car)
*/
@Override
public void persist(Car arg0) {
entityManager.persist(arg0);
}
}