gpt4 book ai didi

java - 在 DB 中克服的值(value)

转载 作者:行者123 更新时间:2023-11-29 08:55:58 24 4
gpt4 key购买 nike

请帮帮我。我是 Hibernate 的新手。设置成功。但是当我用不同的值运行代码时,表中的值被覆盖了。我不知道出了什么问题。这是我的代码:

UserDetails.java

package com.hibernate;

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

@Entity
@Table(name="User_Details")
public class UserDetails {

@Id
private int id;
private String name;
private String phonenumber;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhonenumber() {
return phonenumber;
}
public void setPhonenumber(String phonenumber) {
this.phonenumber = phonenumber;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}


}

GetUserDetails.java

package com.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

@SuppressWarnings("deprecation")

public class GetUserDetails {

public static void main(String[] args) {
UserDetails ud = new UserDetails();
ud.setId(3);
ud.setName("User3");
ud.setPhonenumber("9988555774");

SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();

session.beginTransaction();
session.save(ud);
session.getTransaction().commit();
session.close();
sessionFactory.close();
}

}

当我运行上面的代码时,值“3”、“User3”、“9988555774”被插入到表中。

但是,如果我再次使用值“4”、“User4”、“9988547774”运行代码,那么旧值将被覆盖,新值将被正确插入。

请帮助我,因为我不知道我错过了什么。

最佳答案

我相信您已经在 hibernate.cfg.xml 中添加了以下行。

<property name="hbm2ddl.auto">create</property>

尝试将“create”改为“update”,如下图:

<property name="hbm2ddl.auto">update</property>

有关上述属性值的更多信息,请参阅以下链接:

Hibernate hbm2ddl.auto possible values and what they do?

Hibernate: hbm2ddl.auto=update in production?

关于java - 在 DB 中克服的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20270277/

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