问题描述
我使用 Intelliji,当我调试时,结果正常。但是当在列表对象中获取 Object
时我得到
java.lang.ClassCastException: com.example.demo.Hibernate.AccountEntity cannot be cast to com.example.demo.Hibernate.AccountEntity
at com.example.demo.ApiController.AccountApiController.DangNhap(AccountApiController.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1061)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
如图... 我也在控制台上运行了测试,结果是准确的。我看不出这里有什么不同。
这是我的班级实体:
@Entity
@Table(name = "Account",schema = "dbo",catalog = "Sellphones")
public class AccountEntity {
private int idAccount;
private String username;
private String password;
private String hoten;
private Date ngaysinh;
private String email;
private String phonenumber;
private String address;
private String avatar;
private String type;
@Id
@Column(name = "IDAccount",nullable = false)
public int getIdAccount() {
return idAccount;
}
public void setIdAccount(int idAccount) {
this.idAccount = idAccount;
}
@Basic
@Column(name = "Username",nullable = false,length = 50)
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Basic
@Column(name = "Password",length = 50)
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Basic
@Column(name = "Hoten",length = 100)
public String getHoten() {
return hoten;
}
public void setHoten(String hoten) {
this.hoten = hoten;
}
@Basic
@Column(name = "Ngaysinh",nullable = false)
public Date getNgaysinh() {
return ngaysinh;
}
public void setNgaysinh(Date ngaysinh) {
this.ngaysinh = ngaysinh;
}
@Basic
@Column(name = "Email",nullable = true,length = 500)
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Basic
@Column(name = "Phonenumber",length = 50)
public String getPhonenumber() {
return phonenumber;
}
public void setPhonenumber(String phonenumber) {
this.phonenumber = phonenumber;
}
@Basic
@Column(name = "Address",length = 200)
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Basic
@Column(name = "Avatar",length = 500)
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
@Basic
@Column(name = "Type",length = 10)
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
AccountEntity that = (AccountEntity) o;
return idAccount == that.idAccount &&
Objects.equals(username,that.username) &&
Objects.equals(password,that.password) &&
Objects.equals(hoten,that.hoten) &&
Objects.equals(ngaysinh,that.ngaysinh) &&
Objects.equals(email,that.email) &&
Objects.equals(phonenumber,that.phonenumber) &&
Objects.equals(address,that.address) &&
Objects.equals(avatar,that.avatar) &&
Objects.equals(type,that.type);
}
@Override
public int hashCode() {
return Objects.hash(idAccount,username,password,hoten,ngaysinh,email,phonenumber,address,avatar,type);
}
}
还有我的 hbm.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.example.demo.Hibernate.AccountEntity" table="Account"
schema="dbo" catalog="Sellphones">
<id name="idAccount">
<column name="IDAccount" sql-type="int"/>
</id>
<property name="username">
<column name="Username" sql-type="nvarchar(50)" length="50"/>
</property>
<property name="password">
<column name="Password" sql-type="nvarchar(50)" length="50"/>
</property>
<property name="hoten">
<column name="Hoten" sql-type="nvarchar(100)" length="100"/>
</property>
<property name="ngaysinh">
<column name="Ngaysinh" sql-type="date"/>
</property>
<property name="email">
<column name="Email" sql-type="nvarchar(500)" length="500" not-
null="true"/>
</property>
<property name="phonenumber">
<column name="Phonenumber" sql-type="nvarchar(50)" length="50"/>
</property>
<property name="address">
<column name="Address" sql-type="nvarchar(200)" length="200"/>
</property>
<property name="avatar">
<column name="Avatar" sql-type="nvarchar(500)" length="500" not-
null="true"/>
</property>
<property name="type">
<column name="Type" sql-type="nvarchar(10)" length="10" not-
null="true"/>
</property>
</class>
</hibernate-mapping>
当我删除时:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
令人担忧..这是个好主意吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)