Witam, sytuacja wyglada tak, ze mam encje Account ktora posiada wszystkie dane z tabeli kont oprocz hasla. Haslo chce zapisywac za pomoca jdbcTemplate i tu pojawia sie maly problem.
package pl.benq.enrollment.service.imp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import pl.benq.enrollment.model.Account;
import pl.benq.enrollment.repository.AccountPasswordRepository;
import pl.benq.enrollment.repository.AccountRepository;
import pl.benq.enrollment.service.RegistrationService;
@Service("registrationService")
@Transactional
public class RegistrationServiceImp implements RegistrationService{
@Autowired AccountRepository accountRepository;
@Autowired AccountPasswordRepository passwordRepository;
@Override
public Boolean isLoginAvaiable(String login) {
// TODO Auto-generated method stub
return null;
}
@Override
public void createAccount(Account account, String password) {
accountRepository.save(account);
passwordRepository.updatePasswordByUsername(account.getLogin(), password);
}
}
Metoda createAccount nie dziala jak nalezy, poniewaz nie zostaje zapisane haslo. Wyglada to tak jakby wywolalo sie save z repository przy czym oddalo sterowanie do createAccount zanim encja zostala utrwalona i zaczyna sie wykonywac updatePassword... Jak taki problem rozwiazac i dlaczego dokladnie tak sie dzieje?