gpt4 book ai didi

java - SQLGrammarException。 Hibernate 中未知的列名

转载 作者:行者123 更新时间:2023-12-01 12:42:38 25 4
gpt4 key购买 nike

我有一个数据库,其中有国家/地区表。国家/地区表具有以下结构。

CREATE TABLE `countries` (
`idCountry` int(5) NOT NULL AUTO_INCREMENT,
`countryCode` char(2) NOT NULL DEFAULT '',
`countryName` varchar(45) NOT NULL DEFAULT '',
PRIMARY KEY (`idCountry`)
) ENGINE=MyISAM AUTO_INCREMENT=252 DEFAULT CHARSET=utf8;

我有一个 hibernate Pojo,它在 hibernate 配置文件中正确配置。 pojo 看起来像这样

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "countries")
public class Country {

@Id
@Column(name = "id")
public int id;

@Column(name = "code")
public String code;

@Column(name = "name")
public String name;

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getCode() {
return code;
}

public void setCode(String code) {
this.code = code;
}

public String getName() {
return name;
}

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

}

数据库已填充所有国家/地区和相应值的列表。但是,当我尝试使用以下代码从表中获取国家时

SessionFactory sf = SessionFactoryUtil.getSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
Country c = (Country) session.get(Country.class, 105);
return c;

我收到以下异常

[org.hibernate.exception.SQLGrammarException: could not extract ResultSet] with root cause
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'country0_.id' in 'field list'

最佳答案

更改此:

@Id
@Column(name = "id")
public int id;

@Column(name = "code")
public String code;

@Column(name = "name")
public String name;

对此:

@Id
@Column(name = "idCountry")
public int id;

@Column(name = "countryCode")
public String code;

@Column(name = "countryName")
public String name;

关于java - SQLGrammarException。 Hibernate 中未知的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966035/

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