Entity manager

이태규·2022년 4월 19일
0

spring

목록 보기
57/64

@Service
public class ItemServiceImpl implements ItemService{

	@Autowired ItemRepository iRepository;
	@Autowired EntityManagerFactory emf;

	@Override
	public List<ItemEntity> selectItemEntityIn(Long[] no) {
		return iRepository.findByIcodeIn(no);
	}

	@Override
	public int updateItemBatch(List<ItemEntity> list) {
		EntityManager em = emf.createEntityManager();
		try {
			em.getTransaction().begin();
			for( ItemEntity item : list) {
				//기본키를 이용해서 기존 데이터를 꺼냄
				ItemEntity oldItem 
					= em.find(ItemEntity.class, item.getIcode());
				
				//변경할 항목 set
				oldItem.setIname(  item.getIname() );
				oldItem.setIcontent(  item.getIcontent() );
				oldItem.setIprice(  item.getIprice() );
				oldItem.setIquantity(  item.getIquantity() );
				em.persist(oldItem);
			}
			em.getTransaction().commit();
			return 1;
		}
		catch(Exception e) {
			e.printStackTrace();
			em.getTransaction().rollback();
			return 0;
		}
	}


	@Override
	public int deleteItemBatch(Long[] no) {
		EntityManager em = emf.createEntityManager();
		try {
			em.getTransaction().begin();
			for( Long tmp : no) {
				//기본키를 이용해서 기존 데이터를 꺼냄
				ItemEntity oldItem 
					= em.find(ItemEntity.class, tmp);
				em.remove(oldItem);
			}
			em.getTransaction().commit();
			return 1;
		}
		catch(Exception e) {
			e.printStackTrace();
			em.getTransaction().rollback();
			return 0;
		}
	}
	
	@Override
	public int insertItemBatch(List<ItemEntity> list) {
		EntityManager em = emf.createEntityManager();
		try {
			em.getTransaction().begin();
			//여러개 추가
			for( ItemEntity item : list) {
				em.persist(item);
			}
			em.getTransaction().commit();
			return 1;
		}
		catch(Exception e) {
			e.printStackTrace();
			em.getTransaction().rollback();
			return 0;
		}
	}

}

Reposity도 쓰고, managerentity안에있는것도 쓰고

profile
한 걸음씩 나아가자

0개의 댓글