Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.nkapps.billing.dao; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import org.joda.time.LocalDateTime; import org.springframework.stereotype.Repository; import com.nkapps.billing.models.WsUser; /** * * @author nuraddin */ @Repository("wsDao") public class WSDaoImpl extends AbstractDao implements WSDao { @Override public WsUser findByUsernameAndPassword(String username, String password) { Session session = getSession(); Query query = session.createQuery( "SELECT u FROM WsUser u WHERE u.username = :username AND u.password = :password AND u.active = 1"); query.setParameter("username", username); query.setParameter("password", password); WsUser wsUser = (WsUser) query.uniqueResult(); session.close(); return wsUser; } @Override public WsUser createWsUser(String username, String password) { Session session = getSession(); Transaction transaction = session.beginTransaction(); WsUser user = null; try { LocalDateTime dateTime = LocalDateTime.now(); Query query = session.createQuery( "UPDATE WsUser u SET u.active = 0, u.dateUpdated = :dateUpdated WHERE u.username = :username"); query.setParameter("dateUpdated", dateTime); query.setParameter("username", username); query.executeUpdate(); user = new WsUser(); user.setUsername(username); user.setPassword(password); user.setType((short) 1); user.setActive((short) 1); user.setDateCreated(dateTime); user.setDateUpdated(dateTime); session.save(user); session.flush(); transaction.commit(); } catch (Exception e) { transaction.rollback(); } session.close(); return user; } }