Duvida hibernate

4 respostas
G

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.

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;
	}

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

4 Respostas

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

G

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

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

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

G

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

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

Criado 24 de novembro de 2009
Ultima resposta 24 de nov. de 2009
Respostas 4
Participantes 2