package com.eric.mvnlab.service;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.eric.mvnlab.model.MyEntity;
@Service
public class EntityService {
private static final Logger logger = LoggerFactory.getLogger(EntityService.class);
@PersistenceContext
EntityManager em;
public void setEntityManager(EntityManager em) {
this.em = em;
}
@Transactional(readOnly=true)
public MyEntity findEntity(String id) {
// Uncomment when you have defined your entity
//
if("new".equals(id)) {
return new MyEntity();
} else {
return em.find(MyEntity.class, id);
}
// ...meanwhile here's a fake entity (remove this when the real one is ready)
// MyEntity entity = new MyEntity();
// entity.setId("fake_id");
// entity.setName("Fake Entity");
// return entity;
}
@Transactional
public MyEntity save(MyEntity entity) {
// Once you have defined your entity in the MyEntity model object, you can
// uncomment this code. The entity must have an id property.
if (entity.getId() != null) {
entity = em.merge(entity);
} else {
em.persist(entity);
}
logger.info("entity saved: " + em);
return entity;
}
@Transactional
public boolean delete(String entityId) {
MyEntity entity = em.find(MyEntity.class, entityId);
if(entity==null) {
return false;
}
em.remove(entity);
return true;
}
}