Dúvida Hibernate

29 respostas
desk

Olá pessoal, não sei se postei no lugar certo mas, estou com um problema, estou aprendendo Hibernate e estou tentando pegar o usuario e senha no banco para verificar se o rapaz é cadastrado. Quero fazer mais ou menos isso:

public class UsuarioDAO {
	private Connection connection;

	public UsuarioDAO() {
		connection = new ConnectionFactory().getConnection();
	}

	public boolean existeUsuario(Usuario usuario) {
		try {
			PreparedStatement stmt = this.connection.prepareStatement("select * from usuarios where login = ? and senha = ?");
			stmt.setString(1, usuario.getLogin());
			stmt.setString(2, usuario.getSenha());
			ResultSet rs = stmt.executeQuery();

			boolean encontrado = rs.next();
			rs.close();
			stmt.close();

			return encontrado;
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
}

Porém com hibernate, porém não sei como faço… seria com o Criteria? alguem me da uma luz?
tentei com isso aqui porém não tá dando certo:

public Usuario procura(Long id) {
		return (Usuario) session.load(Usuario.class, id) ;
	}

29 Respostas

Andre_Brito

Você pode fazer o seguinte: setar a pk e usar um find. Algo do tipo (não sei se é bem essa a sintaxe do cara, mas aí vai):

public Usuario findById(Long id) { Usuario usuario = new Usuario(); usuario.setId(id); return entityManager.find(usuario); }

O ideal é debugar pra ver se aquele find ali acha o certo (se não achar, provavelmente vem o null ou dá um throw new NullAlgumaCoisaException).

desk

Olá brother, tentei do jeito que vc falou mas não consegui não, oque seria esse entitymanager.find(usuario) ai? dei uma melhorada e meu codigo agora está assim porém não está funcionando:

public class AdminDAO {
	private final Session session ; 
	
	public AdminDAO() {
		session = new HibernateUtil().getSession() ;
	}
	
	public Admins verificaAdmin(Admins admin) {
		Query query = session.createQuery("from Admins where login = :pLogin and senha = :pSenha");
		query.setParameter("pLogin", admin.getLogin());
		query.setParameter("pSenha", admin.getSenha());
		return (Admins) query.uniqueResult();
	}

}
public class AutorizadorLoginAction {
	private Admins admin ;

	
	@Action(value="login", results={
			@Result(name="ok", location="/menu.jsp"),
			@Result(name="invalido", location="/login.jsp")
	})
	public String login() {
		if(new AdminDAO().verificaAdmin(admin) != null) {
			ActionContext.getContext().getSession().put("adminLogado", admin) ;
			return "ok" ;
		}
		else {
			return "invalido" ;
		}
	}
	
	public Admins getAdmin() {
		return admin;
	}
	
	public void setAdmin(Admins admin) {
		this.admin = admin;
	}
	
}

Quando rodo o formulario de logar e boto o login, senha ele causa uma exception, pelo que intendi a query que coloquei está errada, mas acho que está certa.
Grato

L

posta o erro ai pra gente dar uma oolhada ai fica mais facil te ajudar.

Lavieri

O código deveria ser assim:

public class AdminDAO {
	private final Session session ; 
	
	public AdminDAO() {
		session = new HibernateUtil().getSession() ;
	}
	
	public Admins verificaAdmin(Admins admin) {
				//no caso com o trecho "Admins a" é o mesmo que "Admins as a"
		Query query = session.createQuery("from Admins a where a.login = :pLogin and a.senha = :pSenha");
		query.setParameter("pLogin", admin.getLogin());
		query.setParameter("pSenha", admin.getSenha());
		return (Admins) query.uniqueResult();
	}

}
desk
Lavieri:
O código deveria ser assim:
public class AdminDAO {
	private final Session session ; 
	
	public AdminDAO() {
		session = new HibernateUtil().getSession() ;
	}
	
	public Admins verificaAdmin(Admins admin) {
				//no caso com o trecho "Admins a" é o mesmo que "Admins as a"
		Query query = session.createQuery("from Admins a where a.login = :pLogin and a.senha = :pSenha");
		query.setParameter("pLogin", admin.getLogin());
		query.setParameter("pSenha", admin.getSenha());
		return (Admins) query.uniqueResult();
	}

}
Brother, tentei assim mas continua na mesma. Segue a exception:
org.hibernate.hql.ast.QuerySyntaxException: Admins is not mapped [from Admins a where a.login = :pLogin and a.senha = :pSenha]
	org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158)
	org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87)
	org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
	org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:265)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
	org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
	org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
	org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
	org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
	org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
	org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
	org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
	org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
	org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
	br.com.ibooker.dao.AdminDAO.verificaAdmin(AdminDAO.java:17)
	br.com.ibooker.action.AutorizadorLoginAction.login(AutorizadorLoginAction.java:20)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
	com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
	org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
	org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
Lavieri

org.hibernate.hql.ast.QuerySyntaxException: Admins is not mapped

ou seja… falta mapear a classe… usar @Entity, @Id, etcs

desk

Lavieri:
org.hibernate.hql.ast.QuerySyntaxException: Admins is not mapped

ou seja… falta mapear a classe… usar @Entity, @Id, etcs


Então brother, pelo que intnedi vc disse que a classe admins falta mapear né… porém já tem isso tudo nela :frowning:

@Entity
public class Admins {
	@Id
	@GeneratedValue
	private Long id ;
	private String login ;
	private String senha ;
	
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}
	
}
Andre_Brito

Ele tá no persistence.xml também? Qual o nome da tabela no banco?

LPJava

so uma dica para o autor do topico, nao use SQL dentro do seu hibernate. Tente deixo o mais abstrato possivel.

Veja se esse meu post de busca ti ajuda.

desk

persistence.xml é o arquivo onde põe as coisas do hibernate? configurações? se for não estou usando isso, fiz apenas o hibernate.properties e estou usando por anotações. O nome da tabela é Admins

LPJava:
so uma dica para o autor do topico, nao use SQL dentro do seu hibernate. Tente deixo o mais abstrato possivel.

Veja se esse meu post de busca ti ajuda.

então vc diz que tem 1 jeito melhor de fazer? ao inves do createquery? vi no link que vc mandou e lá também está ± assim…

Obrigado a todos que estão me ajudando, ja tentei varias coisas aqui mas o erro persiste, da quase sempre a mesma exception… porem pelo que percebo está tudo nos conformes

Andre_Brito

persistence.xml é o arquivo onde põe as coisas do hibernate? configurações? se for não estou usando isso, fiz apenas o hibernate.properties e estou usando por anotações. O nome da tabela é Admins
É que voce precisa dizer algumas coisas (como o endereço do banco, senha, usuario e coisas do tipo…). Só não lembro se é necessário fazre isso também num sistema que não usa um servidor.

Sobre essa parte de sql, o ideal seria usar o find ou jpql (ou ainda hql). É mais simples… E você poderia usar @NamedQuery no seu entity que tudo pode ficar mais fácil na hor de fazer uma consulta.

Uma pergunta: você está usando servidor ou só os jars do hibernate (quais jars você está usando?)? Se você quiser esperar, no final de semana eu posso bolar algum exemplo pra você aqui. Não faço isso no decorrer da semana pela falta de tempo mesmo…

desk

persistence.xml é o arquivo onde põe as coisas do hibernate? configurações? se for não estou usando isso, fiz apenas o hibernate.properties e estou usando por anotações. O nome da tabela é Admins
É que voce precisa dizer algumas coisas (como o endereço do banco, senha, usuario e coisas do tipo…). Só não lembro se é necessário fazre isso também num sistema que não usa um servidor.

Sobre essa parte de sql, o ideal seria usar o find ou jpql (ou ainda hql). É mais simples… E você poderia usar @NamedQuery no seu entity que tudo pode ficar mais fácil na hor de fazer uma consulta.

Uma pergunta: você está usando servidor ou só os jars do hibernate (quais jars você está usando?)? Se você quiser esperar, no final de semana eu posso bolar algum exemplo pra você aqui. Não faço isso no decorrer da semana pela falta de tempo mesmo…

Eai brother, então. no hibernate properties eu puis esses dados (endereço do banco,senha,dialeto,etc), estou usando os jars do hibernate… baixei o hibernate annotations e hibernate… peguei todos que veio.
com find e @namedquery ficaria melhor? hehe é porque sou iniciante e nem intendo muito, oque seria? me dar exemplos? :slight_smile:

Tranquilo, se vc poder me dar uns exemplos disso ai no fim de semana ficarei grato hehe, vlw mesmo!
Abraços

LPJava

persistence.xml é o arquivo onde põe as coisas do hibernate? configurações? se for não estou usando isso, fiz apenas o hibernate.properties e estou usando por anotações. O nome da tabela é Admins

LPJava:
so uma dica para o autor do topico, nao use SQL dentro do seu hibernate. Tente deixo o mais abstrato possivel.

Veja se esse meu post de busca ti ajuda.

então vc diz que tem 1 jeito melhor de fazer? ao inves do createquery? vi no link que vc mandou e lá também está ± assim…

Obrigado a todos que estão me ajudando, ja tentei varias coisas aqui mas o erro persiste, da quase sempre a mesma exception… porem pelo que percebo está tudo nos conformes

HQL é similar ao SQL. Ainda bem ne?
vamos lá fiz o code agora aqui so para vc ter ideia do que precisa fazer para conseguir o cara certo durante o login.

Vamos dizer que o login eh o email do usuario, entao vc no seu BD vai ter o campo email como unique. uma vez que vc retornar o objeto do usuario que o email é igual ao digitado vc, pode navegar ate o campo senha e verificar se digitou corretamente, sem precisar fazer uma clausula HQL para senha.

public Usuario verificar(String email){		
		begin(); 
		Query q = getSession().createQuery("from Usuario where email = :email");
		q.setString("email", email);		
		Usuario usuario  = (Usuario) q.uniqueResult();
			commit();
		return usuario;
		
	}

Se vc usa JSF para seu viu, no seu controlador poderia ter algo assim:

//verificar o email e a senha - usando na pagina de login
	public String verificar(){
			UsuarioDAO usuariodao = new UsuarioDAO();
			Usuario us = usuariodao.verificar(usuario.getEmail());
			if(us.getEmail().equals(usuario.getEmail())&& us.getSenha().equals(usuario.getSenha())){
				return "loginok";
			}else { 	
		return "logininvalid";}

tente implementar dessa forma, depois vc vai refatorando e aprimorando.

flw! qualquer coisa so gritar.

desk

persistence.xml é o arquivo onde põe as coisas do hibernate? configurações? se for não estou usando isso, fiz apenas o hibernate.properties e estou usando por anotações. O nome da tabela é Admins

LPJava:
so uma dica para o autor do topico, nao use SQL dentro do seu hibernate. Tente deixo o mais abstrato possivel.

Veja se esse meu post de busca ti ajuda.

então vc diz que tem 1 jeito melhor de fazer? ao inves do createquery? vi no link que vc mandou e lá também está ± assim…

Obrigado a todos que estão me ajudando, ja tentei varias coisas aqui mas o erro persiste, da quase sempre a mesma exception… porem pelo que percebo está tudo nos conformes

HQL é similar ao SQL. Ainda bem ne?
vamos lá fiz o code agora aqui so para vc ter ideia do que precisa fazer para conseguir o cara certo durante o login.

Vamos dizer que o login eh o email do usuario, entao vc no seu BD vai ter o campo email como unique. uma vez que vc retornar o objeto do usuario que o email é igual ao digitado vc, pode navegar ate o campo senha e verificar se digitou corretamente, sem precisar fazer uma clausula HQL para senha.

public Usuario verificar(String email){		
		begin(); 
		Query q = getSession().createQuery("from Usuario where email = :email");
		q.setString("email", email);		
		Usuario usuario  = (Usuario) q.uniqueResult();
			commit();
		return usuario;
		
	}

Se vc usa JSF para seu viu, no seu controlador poderia ter algo assim:

//verificar o email e a senha - usando na pagina de login
	public String verificar(){
			UsuarioDAO usuariodao = new UsuarioDAO();
			Usuario us = usuariodao.verificar(usuario.getEmail());
			if(us.getEmail().equals(usuario.getEmail())&& us.getSenha().equals(usuario.getSenha())){
				return "loginok";
			}else { 	
		return "logininvalid";}

tente implementar dessa forma, depois vc vai refatorando e aprimorando.

flw! qualquer coisa so gritar.

eai brother, então. fiz igual oque vc fez ai porem da a mesma exception …

org.hibernate.hql.ast.QuerySyntaxException: Admins is not mapped [from Admins where login = :login]

porem no meu codigo nao tem esse begin() e commit()… não consegui por, oque são?
Grato.

Andre_Brito

Provavelmente são funções nas quais ele gerencia as transações. Não sei o jeito dele programar, só um chute mesmo.

Essa exception dá porque o Admins não tá mapeado cara… Acho que você tem que configurar naquele persistence.xml que lhe falei… Quais jars você está usando?

LPJava
opa! Cara, foi malz esqueci de colocar de onde vem o begin e o commit, veja:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class DAO {
	private static final SessionFactory sessionfactory = new Configuration().configure().buildSessionFactory();
	private static final ThreadLocal threadlocal = new ThreadLocal(); 
	
	public DAO() {
		// TODO Auto-generated constructor stub
	}
	
	public static Session getSession(){
		Session session = (Session) threadlocal.get();
		if(session==null){
			session = sessionfactory.openSession();
			threadlocal.set(session);
		}
		return session; 
	}
	public void begin(){
		getSession().beginTransaction().begin(); 
	}
	
	public void commit() {		
		getSession().beginTransaction().commit();		
	}
A classe BeanDao vai ficar assim:
public class UsuarioDAO extends DAO {
//traz todos os usuarios
	public List getTodos(){
		 begin(); 
		 Query q = getSession().createQuery("from Usuario"); 
		 List list = q.list(); 
		  commit();
		return list; 
	}}
desk

Andre Brito:
Provavelmente são funções nas quais ele gerencia as transações. Não sei o jeito dele programar, só um chute mesmo.

Essa exception dá porque o Admins não tá mapeado cara… Acho que você tem que configurar naquele persistence.xml que lhe falei… Quais jars você está usando?

Cara mas não intendo, o Admins tá com os negocios todos do hibernate lá … como já mostrei a classe aqui no topico. Estou usando o jar do hibernate e hibernate annotations, baixei no site e peguei todos que vieram na pasta e joguei na lib.

Po, acho que tive 1 evolução haha, tá dando otra exception agora… pelo que intendi ele não tá conseguindo chamar a action mas não sei… no action do formulario tá certinho de acordo com o struts… login, vo mandar as classes

Unable to instantiate Action, br.com.ibooker.action.AutorizadorAdminAction,  defined for 'login' in namespace '/'null
public class AutorizadorAdminAction {
	private Admins admin ;
	private AdminDAO adminDao = new AdminDAO() ;
        // quando ponho esse autenticado dentro do metodo login ali ele volta a dar aquela exception de não estar mapeado.
	private Admins autenticado = adminDao.verificaAdmin(admin.getLogin()) ;
	
	@Action(value="login", results={
			@Result(name="ok", location="/menu.jsp"),
			@Result(name="invalido", location="/login.jsp")
	})
	public String login() {
		if (autenticado.getLogin().equals(admin.getLogin()) && autenticado.getSenha().equals(admin.getSenha())) {
			return "ok" ;
		}
		else {
			return "invalido" ;
		}
	}
	
	public Admins getAdmin() {
		return admin;
	}

	public void setAdmin(Admins admin) {
		this.admin = admin;
	}
	
}
public class AdminDAO {
	private final Session session ; 
	
	public AdminDAO() {
		session = new HibernateUtil().getSession() ;
	}
	
	public Admins verificaAdmin(String login) {
		Query query = session.createQuery("from Admins where login = :pLogin");
		query.setString("pLogin", login) ;
		
		return (Admins) query.uniqueResult();
	}

}
<form action="login" method="post">
Login: <input type="text" name="admin.login"> <br>
Senha: <input type="password" name="admin.senha"> <br>
	   <input type="submit" value="Logar">
</form>
org.hibernate.hql.ast.QuerySyntaxException: Admins is not mapped [from Admins where login = :pLogin]
	org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158)
	org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87)
	org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
	org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:265)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
	org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
	org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
	org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
	org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
	org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
	org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
	org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
	org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
	org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
	br.com.ibooker.dao.AdminDAO.verificaAdmin(AdminDAO.java:18)
	br.com.ibooker.action.AutorizadorAdminAction.login(AutorizadorAdminAction.java:18)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
	com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
	org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
	org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
desk

Galera, tava vendo aqui… será que não precisa por nenhuma annotation no DAO dizendo que o struts2 irá tomar conta dele? algo do tipo?!?

Eduardo_Bregaida

hey buddy faltou mapear a classe admins no XML ou na classe depende de como vc montou a chamada no hibernate ou jpa. A classe Admins esta anotada com @Entity não êh? Então faltou mapea-la apenas

desk

hey buddy faltou mapear a classe admins no XML ou na classe depende de como vc montou a chamada no hibernate ou jpa. A classe Admins esta anotada com @Entity não êh? Então faltou mapea-la apenas
eai bro, tem o entity sim…como assim mapela vc diz? a classe tá assim óh:

@Entity
public class Admins {
	@Id
	@GeneratedValue
	private Long id ;
	private String login ;
	private String senha ;
	// getters and setters
}
Eduardo_Bregaida
desk:
Eduardo Bregaida:
desk:
Galera, tava vendo aqui.. será que não precisa por nenhuma annotation no DAO dizendo que o struts2 irá tomar conta dele? algo do tipo?!?
hey buddy faltou mapear a classe admins no XML ou na classe depende de como vc montou a chamada no hibernate ou jpa. A classe Admins esta anotada com @Entity não êh? Então faltou mapea-la apenas
eai bro, tem o entity sim...como assim mapela vc diz? a classe tá assim óh:
@Entity
public class Admins {
	@Id
	@GeneratedValue
	private Long id ;
	private String login ;
	private String senha ;
	// getters and setters


}

então não tem um XML do hibernate ou jpa
lá vc mappeia a classe

desk

Po não to usando XML não … tava usando só por anotattion … no caso só teria como com xml?

Eduardo_Bregaida

Não em algum lugar vc tem q ta mapeando essas classes q vao virar Entidades no banco, dá uma pesquisada caso vc nao as tenha no seu projeto

desk

Não em algum lugar vc tem q ta mapeando essas classes q vao virar Entidades no banco, dá uma pesquisada caso vc nao as tenha no seu projeto

Huum… é pq achava que poderia mapear pelas annotations também… no caso tb tenho esses arquivos aqui ’ hibernate.properties, HibernateUtil ’ : Vo da uma pesquisada :slight_smile: Brigado!

hibernate.dialect org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql://localhost/ibooker
hibernate.connection.username root
hibernate.connection.password ****
public class HibernateUtil {
	private static final SessionFactory factory ;
	
	static {
		AnnotationConfiguration cfg = new AnnotationConfiguration() ;
		cfg.addAnnotatedClass(Livros.class) ;
		cfg.addAnnotatedClass(Usuario.class) ;
		cfg.addAnnotatedClass(Admins.class) ;
		factory = cfg.buildSessionFactory() ;
		new SchemaExport(cfg).create(true, false) ;
	}
	
	public Session getSession() {
		return factory.openSession() ;
	}
	
}
desk

Galera, eu resolvi deletar todos os arquivos que faziam o login e criar denovo. agora estou conseguindo logar… quando ponho os dados certos loga certinho, agora se eu ponho algo meio parecido não loga… porém se eu ponho algo que nao tem nda a ver ele da exception:

Vamos supor que eu tenho um cara cadastrado como ‘[email removido]’ e senha ‘123456’ … se eu boto isso certinho ele loga e vai pro menu… se eu ponho a senha um pouco diferente como ‘12345’ ou mudo poca coisa no email ele vai para login… porém se eu ponho algo diferente que não tem tipo ‘[email removido]’ ‘123’ ele da essa exception… não sei o porque disso :frowning:

java.lang.NullPointerException
	br.com.ibooker.action.AutorizadorUsuarioAction.login(AutorizadorUsuarioAction.java:20)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
	com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
	org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
	org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
public class AutorizadorUsuarioAction {
	private Usuario usuario ;

	@Action(value="login", results={
			@Result(name="ok", location="/menu.jsp"),
			@Result(name="invalido", location="/login.jsp")
	})
	public String login() {
		Usuario user = new UsuarioDAO().verificaUsuario(usuario.getEmail()) ;
		if (user.getEmail().equals(usuario.getEmail()) && user.getSenha().equals(usuario.getSenha())) {
			ActionContext.getContext().getSession().put("usuarioLogado", usuario) ;
			return "ok" ;
		}
		return "invalido" ;
	}
	
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
}
Eduardo_Bregaida
desk:
Galera, eu resolvi deletar todos os arquivos que faziam o login e criar denovo. agora estou conseguindo logar.. quando ponho os dados certos loga certinho, agora se eu ponho algo meio parecido não loga.. porém se eu ponho algo que nao tem nda a ver ele da exception: Vamos supor que eu tenho um cara cadastrado como '[email removido]' e senha '123456' .. se eu boto isso certinho ele loga e vai pro menu.. se eu ponho a senha um pouco diferente como '12345' ou mudo poca coisa no email ele vai para login.. porém se eu ponho algo diferente que não tem tipo '[email removido]' '123' ele da essa exception.. não sei o porque disso :(
java.lang.NullPointerException
	br.com.ibooker.action.AutorizadorUsuarioAction.login(AutorizadorUsuarioAction.java:20)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
	com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
	org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
	org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
public class AutorizadorUsuarioAction {
	private Usuario usuario ;

	@Action(value="login", results={
			@Result(name="ok", location="/menu.jsp"),
			@Result(name="invalido", location="/login.jsp")
	})
	public String login() {
		Usuario user = new UsuarioDAO().verificaUsuario(usuario.getEmail()) ;
		if (user.getEmail().equals(usuario.getEmail()) && user.getSenha().equals(usuario.getSenha())) {
			ActionContext.getContext().getSession().put("usuarioLogado", usuario) ;
			return "ok" ;
		}
		return "invalido" ;
	}
	
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
}

hum, veja quem tá indo nulo, ai é ratamento qto ao XML, vc ta mapeando na Classe, é outro modo era akilo q eu tava dizendo =)

desk

melhor por XML então? vo da 1 estudada entao, brigadão brother :wink:

leonardo2204

Caso vc não mapeie no xml as classes que usam BD, vc não conseguirá fazer o hibernate falar com o BD !

É só adicionar um mapping e depois as classes q vc deseja mapear !

Abrços !

Eduardo_Bregaida

leonardo2204:
Caso vc não mapeie no xml as classes que usam BD, vc não conseguirá fazer o hibernate falar com o BD !

É só adicionar um mapping e depois as classes q vc deseja mapear !

Abrços !</blockquote>

nesse caso não pq ele ta mapeando pela classe:

public class HibernateUtil {

private static final SessionFactory factory ;
static {
	AnnotationConfiguration cfg = new AnnotationConfiguration() ;
	cfg.addAnnotatedClass(Livros.class) ;
	cfg.addAnnotatedClass(Usuario.class) ;
	cfg.addAnnotatedClass(Admins.class) ;
	factory = cfg.buildSessionFactory() ;
	new SchemaExport(cfg).create(true, false) ;
}

public Session getSession() {
	return factory.openSession() ;
}

}

Criado 23 de março de 2010
Ultima resposta 31 de mar. de 2010
Respostas 29
Participantes 7