2014-03-05 3 views
0

Я разрабатываю приложение, и я использую два репозитория JPA.Весенние транзакции и репозиторий JPA

public interface AuthorityRepository extends JpaRepository<Authority, Integer>{ 
    } 

и

public interface UserRepository extends JpaRepository<User, Integer> { 
} 

мой вопрос: Что лучше в сервисном слое: для одного хранилища есть один слой службы или для несколько репозитория один слой служб. Только одна разница будет в транзакции (или нет?).

Так что лучше иметь одну транзакцию за сохранение или несколько сэкономить на одну транзакцию.

@Transactional 
    public void createUser(User user) { 
     // TODO Auto-generated method stub 
     userRepository.save(user); 
    } 

или

@Transactional 
public void createUser(User user) { 
    // TODO Auto-generated method stub 
    userRepository.save(user); 
    authRepository.save(user.getAuth()) 
}  

Спасибо за помощь

ответ

1

Если вы хотите, чтобы все или ничего поведения на двух сейвов, они должны быть вызваны одной и той же сделки. Ваш уровень обслуживания - это место, где можно определить транзакционные единицы работы, поэтому второй вариант - это обычный способ сделать это.

Смежные вопросы