Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pl.polsl.zti.db1.dao;
- import java.util.List;
- import javax.persistence.EntityManager;
- import javax.persistence.EntityManagerFactory;
- import javax.persistence.EntityTransaction;
- import javax.persistence.Persistence;
- import javax.persistence.Query;
- import pl.polsl.zti.db1.ConfigConsts;
- import pl.polsl.zti.db1.domain.Client;
- public class ClientDaoImplJpa implements ClientDao {
- private static final EntityManagerFactory ENTITY_MANAGER_FACTORY;
- static {
- ENTITY_MANAGER_FACTORY = Persistence.createEntityManagerFactory(ConfigConsts.PERSISTANCE_UNIT_NAME);
- }
- @Override
- public Client getClient(int id) {
- final EntityManager entityManager = ENTITY_MANAGER_FACTORY.createEntityManager();
- final Client theClient = entityManager.find(Client.class, id);
- entityManager.close();
- return theClient;
- }
- @Override
- public List<Client> getClients() {
- final EntityManager entityManager = ENTITY_MANAGER_FACTORY.createEntityManager();
- final Query query = entityManager.createQuery("select c from Client as c", Client.class);
- // działa w Hibernate, ale nie w EclipseLink:
- // final Query query = entityManager.createQuery("from Client", Client.class);
- final List<Client> clientList = query.getResultList();
- entityManager.close();
- return clientList;
- }
- @Override
- public List<Client> getClients(String name) {
- if (name == null || name.trim().isEmpty()) {
- return getClients();
- }
- final EntityManager entityManager = ENTITY_MANAGER_FACTORY.createEntityManager();
- final Query query = entityManager.createQuery("select c from Client as c where c.name like :parame", Client.class);
- query.setParameter("parame", name);
- final List<Client> clientList = query.getResultList();
- entityManager.close();
- return clientList;
- }
- @Override
- public void insertClients(List<Client> clients) {
- if (clients == null || clients.isEmpty()) {
- return;
- }
- final EntityManager entityManager = ENTITY_MANAGER_FACTORY.createEntityManager();
- final EntityTransaction transaction = entityManager.getTransaction();
- transaction.begin();
- for (Client cln : clients){
- entityManager.persist(cln);
- }
- transaction.commit();
- entityManager.close();
- }
- @Override
- public void updateClient(Client client) {
- if (client == null) {
- return;
- }
- final EntityManager entityManager = ENTITY_MANAGER_FACTORY.createEntityManager();
- final EntityTransaction transaction = entityManager.getTransaction();
- transaction.begin();
- entityManager.merge(client);
- transaction.commit();
- entityManager.close();
- }
- @Override
- public void deleteClient(Client client) {
- final EntityManager entityManager = ENTITY_MANAGER_FACTORY.createEntityManager();
- final EntityTransaction transaction = entityManager.getTransaction();
- transaction.begin();
- final Client managedClient = entityManager.merge(client);
- entityManager.remove(managedClient);
- transaction.commit();
- entityManager.close();
- }
- @Override
- public void deleteClient(int id) {
- Client client = getClient(id);
- deleteClient(client);
- // Zaimplementować usuwanie klienta o podanym id
- // Najpierw wydobyć klienta, potem go usunąć
- //TODO Implementacja
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement