Dúvida Hibernate

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

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).

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

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

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

}

[quote=Lavieri]O código deveria ser assim:

[code]
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();
}

}
[/code][/quote]
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)

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

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

[quote=Lavieri]org.hibernate.hql.ast.QuerySyntaxException: Admins is not mapped

ou seja… falta mapear a classe… usar @Entity, @Id, etcs[/quote]
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;
	}
	
}

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

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.

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

[quote=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.[/quote]

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

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[/quote]
É 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…

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[/quote]
É 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…[/quote]

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

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

[quote=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.[/quote]

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[/quote]

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.

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

[quote=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.[/quote]

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[/quote]

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.
[/quote]

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.

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?

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();		
	}[/code]

A classe BeanDao vai ficar assim: 
[code]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; 
	}}

[quote=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?[/quote]

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)

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