gpt4 book ai didi

spring - TypeMismatchException 提供的 ID 类型错误

转载 作者:行者123 更新时间:2023-11-29 11:23:19 26 4
gpt4 key购买 nike

在 Hibernate 中开发我的第一个应用程序时。尝试从数据库中检索用户对象时出现以下异常:

org.hibernate.TypeMismatchException: Provided id of the wrong type for class org.cw.form.User. Expected: class java.lang.Integer, got class java.lang.String at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:109) at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:906) at org.hibernate.impl.SessionImpl.load(SessionImpl.java:823) at org.hibernate.impl.SessionImpl.load(SessionImpl.java:816)

我已经使用以下 postgreSQL 创建了 USERS 表:

CREATE SEQUENCE user2_id_seq; 

CREATE TABLE USERS(id integer NOT NULL DEFAULT nextval('user2_id_seq'), user_name varchar(45) NOT NULL UNIQUE , password varchar(45) NOT NULL, email varchar(45) NOT NULL, PRIMARY KEY (id));

用户实体定义如下:

@Entity @Table(name="USERS") public class User {

@Id
@Column(name="ID")
@GeneratedValue(strategy= GenerationType.IDENTITY)
private Integer id;

@Column(name="USER_NAME", unique = true)
private String userName;

@Column(name="PASSWORD")
private String password;

@Column(name="EMAIL")
private String email; .. all the getters and setters...

我是不是漏了什么?

最佳答案

我有一个不同的罪魁祸首造成这个问题:我复制粘贴了另一个实体的存储库,它使用字符串作为主键类型。

所以我有

class MyEntity implements Serializable {

@Id
Integer id

结合

interface MyEntityRepository extends CrudRepository<MyEntity, String> {

产生了错误信息。

只需将接口(interface)类型从 String 更改为 Integer 即可解决我的问题。

关于spring - TypeMismatchException 提供的 ID 类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9467705/

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