gpt4 book ai didi

java - Hibernate:将 HQL 查询切换为 SQL 查询,抛出异常:java.lang.ClassCastException

转载 作者:行者123 更新时间:2023-12-02 11:38:57 24 4
gpt4 key购买 nike

在我的 DaoImpl 类中,我试图获取类型 TBatchEntry(model class) 的数据列表

@Override
public List<TBatchEntry> getBatchListFormQuery(String batchNo) {

session = sessionFactory.openSession();
List<TBatchEntry> batchListFromQuery = new ArrayList<TBatchEntry>();
try {
tx = session.beginTransaction();
batchListFromQuery = session.createSQLQuery("SELECT * FROM pghms.t_batchentry WHERE t_regNo LIKE '2008%'").list();
tx .commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}
return batchListFromQuery;
}

在我的 Controller 类中,我试图打印值,但它在注释行中抛出错误:

List<TBatchEntry> batchListFromQuery = new ArrayList<TBatchEntry>();

try{
batchListFromQuery = adminService.getBatchListFormQuery(batchNo);
}catch(Exception e){
e.printStackTrace();
}
Iterator its = batchListFromQuery.iterator();
while(its.hasNext()){
batchFromQuery = (TBatchEntry) its.next(); //This line thorws error
System.out.println(batchFromQuery.getName());
}

这是我的实体类

@Entity
@Table(name="t_batchEntry")
public class TBatchEntry {

@Id
@Column(name="t_regNo")
private String regNo;
@Column(name="t_name")
private String name;

public String getRegNo() {
return regNo;
}
public void setRegNo(String regNo) {
this.regNo = regNo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}

tomcat`根本原因日志

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.sv.pghms.model.TBatchEntry 

如果有人能帮助我,我会非常感激。

最佳答案

尝试这种方法,只需更改类名和条件即可。它对我有用。希望它对您有用。

List<Book> books = this.sf.getCurrentSession().createSQLQuery("select * from Book where book_id > 3")
.addEntity(Book.class)
.list();
for (Book book : books) {
System.out.println("Book Names are :: " + book.getBookName());
}

关于java - Hibernate:将 HQL 查询切换为 SQL 查询,抛出异常:java.lang.ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48716026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com