Package pl.playbit.springhibernate.service

Source Code of pl.playbit.springhibernate.service.PersonServiceImpl

package pl.playbit.springhibernate.service;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import pl.playbit.springhibernate.dao.DogDAO;
import pl.playbit.springhibernate.dao.PersonDAO;
import pl.playbit.springhibernate.model.Dog;
import pl.playbit.springhibernate.model.Person;

import java.util.List;

@Service
public class PersonServiceImpl implements PersonService {

    @Autowired
    private PersonDAO personDAO;

    @Autowired
    private DogDAO dogDAO;

    @Autowired
    private SessionFactory sessionFactory;

    @Override
    @Transactional
    public void addPerson(Person person) {
        Dog dogs[] = { new Dog("Fafik"), new Dog("Sidi") };
        for (Dog dog : dogs) {
            dogDAO.saveDog(dog);
            person.addDog(dog);
        }
        personDAO.addPerson(person);
    }

    @Override
    @Transactional
    public Person getPerson(long id) {
        return personDAO.getPerson(id);
    }

    @Override
    @Transactional
    public void deletePerson(long id) {
        personDAO.removePerson(id);
    }

    @Override
    @Transactional
    public void updatePersonLastname(long id, String newLastname) {
        personDAO.updatePersonLastname(id, newLastname);
    }

    @Override
    @Transactional
    public List<Person> getAllPersons() {
        return personDAO.getAllPersons();
    }

    @Override
    @Transactional
    public List<Person> getAllPersonsWithLastname(String lastname) {
        return personDAO.getAllPersonsWithLastname(lastname);
    }
}
TOP

Related Classes of pl.playbit.springhibernate.service.PersonServiceImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.