Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package es.cenobit.domain.useridentifies;
- import java.math.BigDecimal;
- import java.util.Date;
- import org.apache.commons.lang.StringUtils;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Repository;
- import org.springframework.transaction.annotation.Transactional;
- import es.cenobit.baserepository.BaseRepositories;
- import es.cenobit.domain.dbcurrentsessionid.DBCurrentSessionIds;
- @Repository
- @Transactional(readOnly = true)
- public class UserIdentifiesRepository implements UserIdentifieses {
- private Log log = LogFactory.getLog(UserIdentifiesRepository.class);
- @Autowired
- private BaseRepositories baseRepository;
- @Autowired
- private DBCurrentSessionIds dbCurrentSessionIdRepository;
- public UserIdentifiesRepository() {
- }
- /*
- * (non-Javadoc)
- *
- * @see
- * es.cenobit.domain.useridentifies.UserIdentifieses#save
- * (java.lang.String)
- */
- @Override
- @Transactional(readOnly = false)
- public void save(final String userName) {
- if (userName == null || StringUtils.isEmpty(userName)) {
- throw new IllegalArgumentException("O nome do usuário não pode ser nulo");
- }
- final BigDecimal pid = this.dbCurrentSessionIdRepository.pid();
- UserIdentifies userIdentifies = this.baseRepository.findById(UserIdentifies.class, pid);
- // http://www.stevideter.com/2008/12/07/saveorupdate-versus-merge-in-hibernate/
- // http://www.hibernate-training-guide.com/merge.html
- if (userIdentifies == null) {
- userIdentifies = new UserIdentifies();
- userIdentifies.setId(pid);
- userIdentifies.setUserName(userName);
- userIdentifies.setDateBegin(new Date());
- this.baseRepository.getSession().save(userIdentifies);
- } else {
- userIdentifies.setId(pid);
- userIdentifies.setUserName(userName);
- userIdentifies.setDateBegin(new Date());
- this.baseRepository.getSession().merge(userIdentifies);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment