Обновление всего поста.
public Login authenticate(Login login) {
String query = "SELECT 1 FROM Login AS l WHERE l.email=? AND l.password=?";
Object[] parameters = { login.getEmail(), login.getPassword() };
List resultsList = getHibernateTemplate().find(query,parameters);
if ( resultsList.size() == 1 ) {
results = (Login)resultsList.get(0);
System.out.println(results);
} else {
System.out.println("Error dude.... ");
// error no entity or mutiple entities
}
return results;
}
Теперь я возвращаю объекты входа.
private void checkLogin() {
form.commit();
Login newUser = new Login();
newUser = ilogin.authenticate(loginbean);
System.out.println("Its Null Value" + newUser);
if (newUser == null) {
getWindow().showNotification("Login failed", LOGIN_ERROR_MSG,
Notification.TYPE_WARNING_MESSAGE);
} else {
System.out.println(newUser);
getApplication().setUser(newUser);
}
}
Когда нет подходящего электронного письма, я получаю, что такого пользователя нет, а также это заявление распечатывается.System.out.println("Its Null Value" + newUser);
Но при совпадении адреса электронной почты и пароля.Я получаю странную ошибку.
Причина: java.lang.ClassCastException: java.lang.Integer не может быть приведен к com.intermedix.domain.Login в com.vaadin.event.ListenerMethod.receiveEvent (ListenerMethod.java:507)на com.vaadin.event.EventRouter.fireEvent (EventRouter.java:161) на com.vaadin.ui.AbstractComponent.fireEvent (AbstractComponent.java:1154) на com.vaadin.ui.Button.fireClick (Button.java:371) на com.vaadin.ui.Button.changeVariables (Button.java:193) на com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables (AbstractCommunicationManager.java:1094) на com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest (AbstractCommunicationManager.java:590) в com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest (CommunicationManager.java:266) в com.vaadin.terminal.gwt.serserAservice.Serv.476) в javax.servlet.http.HttpServlet.service (HttpServlet.java:820) в org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:511) в org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:390) в org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216b) в org.m.jetty.servlet.SessionHandler.handle (SessionHandler.java:182) в org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:765) в org.mortbay.jetty.webapp.WebAppContext.handle (WebAppConConte: 418) в org.mortbay.jetty.handler.ContextHandlerCollection.handle (ContextHandlerCollection.java:230) в org.mortbay.jetty.handler.HandlerCollection.handle (HandlerCollection.java:114) в org.mortbay.jetty.hand.HandlerWrapper.handle (HandlerWrapper.java:152) в org.mortbay.jetty.Server.handle (Server.java:326) в org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java:542) в org.mortbay.jet.HttpConnection $ RequestHandler.content (HttpConnection.java:943) по адресу org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:756) по адресу org.mortbay.jetty.HttpParser.parseAvailser (Hp):218) в org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:404) в org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:410) в org.mortbay.thread.QueuedThreadPol(QueuedThreadPool.java:582) Причина: java.lang.ClassCastException: java.lang.Integer не может быть приведен к com.intermedix.domain.Login в com.intermedix.services.LoginService.authenticate (LoginService.java:31) вsun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) в sun.reflect.DelegatingMethodAccessorImpl.intho.j.fho.jjвызывать (Method.java:597) в org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection (AopUtils.java:301) в org.springframework.aop.framework.ReflectiveMethodInvocation.invodjvof.jpg.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:149) в org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:106) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethojin)в org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:204)
на $ Proxy32.authenticate (неизвестный источник)
на com.intermedix.ui.LoginDailog.checkLogin (LoginDailog.java:106)
на com.intermedix.ui.LoginDailog.access $ 0 (LoginDailog.java:102)
на com.intermedix.ui.LoginDailog $ 1.buttonClick (LoginDailog.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Метод)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
в java.lang.reflect.Method.invoke (Method.java:597)
на com.vaadin.event.ListenerMethod.receiveEvent (ListenerMethod.java:487)
... еще 26
Обновление
Мой класс EJB
package com.intermedix.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="users")
public class Login {
public Login(){}
private Long id = null;
private String email;
private String password;
public Login(String email, String password)
{
this.email = email;
this.password = password;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
а также я обновил в соответствии с запросом.