Duvida hibernate

Boa tarde estou com o seguinte problema estou usando hibernate e eu estou tentando pegar o usuario pelo nome, porem ta dando erro nao intendi o motivo.

[code]public AppUser getUser(String login) {
try {
logger.info(“Obtendo usuário de login " + login
+ " do banco de dados.”);

		Session session = HibernateUtil.getSession();
		session.beginTransaction();

		AppUser u = (AppUser) session.get(AppUser.class, login);

		session.getTransaction().commit();
		session.close();

		logger.info("Usuário obtido com sucesso.");

		return u;
	} catch (Exception e) {
		logger.error("Erro ao obter usuário com o login " + login
				+ ". Motivo:\n" + e.getMessage());
	}

	return null;
}[/code]

erro dado pelo logger

Provided id of the wrong type for class br.com.md2net.gi.pojo.AppUser. Expected: class java.lang.Integer, got class java.lang.String

nesse método abaixo o segundo parametro deve ser um Integer e você está passando uma String

session.get(AppUser.class, login);  

leia o erro veja:

Expected: class java.lang.Integer, got class java.lang.String  

[]'sss

[quote=alberto_ribeiro]nesse método abaixo o segundo parametro deve ser um Integer e você está passando uma String

session.get(AppUser.class, login);  

leia o erro veja:

Expected: class java.lang.Integer, got class java.lang.String  

[]'sss[/quote]

eu sei mas num to intendendo o pq disso nao… eu to tentando pegar atravez da String. como eu fazer pra pegar pelo nome?

com esse método você não conseguirá mesmo, pois o segundo parametro é a pk no banco ou seja o id, agora se quiser pegar pelo nome procure algo sobre hql… ou criteria…

[]'s

[quote=alberto_ribeiro]com esse método você não conseguirá mesmo, pois o segundo parametro é a pk no banco ou seja o id, agora se quiser pegar pelo nome procure algo sobre hql… ou criteria…

[]'s[/quote]

é que eu nao to querendo criteria acho q pesa a query … mas de toda forma brigado