gpt4 book ai didi

java - 在 com.tct.model.Car 类上找不到 ID 的 setter

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

我正在使用 Spring mvc 和 Hibernate 以及 AliasToBeanResultTransformer。当我从jsp获取数据时,我收到了来自SQL的异常。

模型类:

@Entity
@Table(name="CARS")
public class Car {

@Id
@Column(name="ID", nullable=false, unique=true)
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;

@Column(name="NAME", length=50)
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

此方法从服务获取数据:

public List<Car> getAllCars() {

Session session = HibernateUtils.getSession(sessionFactory);
String sqlQuery = GetSqlUtils.getSqlQueryString(CarRepositoryImpl.class, SQL_DIR + GET_ALL_CARS);
List<Car> list = null;
try {
Query query = session.createSQLQuery(sqlQuery);
list = query.setResultTransformer(new AliasToBeanResultTransformer(Car.class)).list();
} catch (HibernateException e) {
logger.error("error at CarRepositoryImpl.getAllCars: " + e.getMessage());
} finally {
HibernateUtils.closeCurrentSession(session);
}
return list;
}

SQL:

SELECT CAR.ID AS ID, CAR.NAME AS NAME 
FROM
CARS CAR

记录消息:

CarRepositoryImpl - error at CarRepositoryImpl.getAllCars: Could not find setter for ID on class com.tct.web.model.Car

如何修复这个错误?非常感谢!

最佳答案

您的字段以小写形式声明,并且您使用大写别名。

尝试更改它们,使它们与字段名称完全相同:

SELECT CAR.ID AS id, CAR.NAME AS name

关于java - 在 com.tct.model.Car 类上找不到 ID 的 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42925279/

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