java.lang.ClassCastException: com.example.demo.Hibernate.AccountEntity 不能转换为 com.example.demo.Hibernate.AccountEntity

问题描述

enter image description here

我使用 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 (将#修改为@)