VAlidação de usuário e senha

Boa noite.

Vou esplicar a arquitetura primeiro.

Minha aplicação tem que fazer a validação de um usuário e senha, estou desenvolvendo usando o Struts 1.3.8, ele está usando o padrão MVC, para fazer a persistência estou usando o hibernate.
Quando o usuário carrega a aplicação por meio de um jsp, passa os valores para a classe actioform, na action faz o meio de campo com a classe pojo que irá fazer a persistência de dados. persistência esta feita na pela classe dao.

Dai eu imaginei o seguinte, para fazer a validação de usuário e senha tenho que fazer uma verificação no banco de dados, essa verificação vai me retornar um list, caso retorne um list vazio ou null tem que me retornar erro senão ele loga.

Fazendo o debug eu persebi o seguinte, os dados chegam na action iguais os dados que eu passei no JSP, mas na DAO quando eu estâncio ele me retorna os valores nulos, isso já está me tirando o sono.

agora segue as minhas dúvidas porque os dados são passados para a action e não são passados para o DAO?
Alguém tem um exemplo pelo menos que eu possa me orientar?

vou postar os códigos
segue o fragmento da classe dao que faz a verificação.

	public LoginPOJO validarLogin(LoginPOJO instance) {

		log.debug("finding LoginPOJO instance by example");
		Session sessao = sessionFactory.getCurrentSession();
		transacao = sessao.beginTransaction();
		SQLQuery buscaLogin = null;
		try {
			IdentificacaoForm identificacaoForm = new IdentificacaoForm();
			LoginPOJO loginPojo = new LoginPOJO();
			
			identificacaoForm.getLogin();
			System.out.println("O valor da senha foi: " + identificacaoForm.getSenha());
			System.out.println("O valor do login foi: " + identificacaoForm.getLogin());
			buscaLogin = sessao
					.createSQLQuery("select * from login where login='"
							+ identificacaoForm.getLogin() + "'and senha='"
							+ identificacaoForm.getSenha() + "'");
			System.out.println("O valor encontrado foi: " + buscaLogin);
			if (loginPojo.getLogin() == null || loginPojo.getSenha() == null) {
				System.out.println("Os valores são nulos");
				System.out.println("identificacaoForm do login"
						+ identificacaoForm.getLogin());
				System.out.println("identificacaoForm da senha"
						+ identificacaoForm.getSenha());
				;
				System.out.println("loginPojo da senha" + loginPojo.getLogin());
				System.out.println("loginPojo do login" + loginPojo.getSenha());
			}
			System.out.println("foram encontrados no identificacaoAction:"
					+ identificacaoForm.getLogin() + "  e  "
					+ identificacaoForm.getSenha() + "");
		} catch (Exception e) {
			e.printStackTrace();
		}

		return (LoginPOJO)buscaLogin.uniqueResult();

	}

	public List aceitar() {
		LoginPOJO instance = new LoginPOJO();
		List list = (List) validarLogin(instance);
		if (list.size() == 0 && list != null) {
			System.out.println("Usuário não logado");
		} else {
			System.out.println("Usuário logado");
		}

		return list;
	}

O fragmento da minha action


	
	public ActionForward abertura(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		LoginDao loginDao = new LoginDao();
		IdentificacaoForm identificacaoForm = new IdentificacaoForm();
		LoginPOJO loginPojo = new LoginPOJO();
		
		loginPojo.setLogin(identificacaoForm.getLogin());
		loginPojo.setSenha(identificacaoForm.getSenha());
		
		loginDao.aceitar();
		
		return mapping.findForward(SUCCESS);
	}

Desde já agradeço.

Você recebe o loginPojo por parametro e usa uma OUTRA instancia de LoginPojo na DAO.
Você deve usar a instancia que recebe por parametro e nao criar outra instancia com o mesmo nome da action.