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

标签 java hibernate

请帮帮我。我是 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/

相关文章:

使用 Hibernate : validation not happening on update 进行 Spring Bean 验证

java - Hibernate 连接到错误的数据库

java - 如何使用 iBatis for Java 实现继承?

java - Android TV Fragment(主 fragment )以垂直方向出现?

java - NullPointerExceptions 仅在某些 Samsung Galaxy 设备上出现?

hibernate 条件 : Eagerly load ManyToMany collection

java - Hibernate Envers - 包括更改发生的日期

java - 如何解决 javax.mail.AuthenticationFailedException?

java - Getter 和 Setter 函数帮助和操作方法

java - 为什么要使用 Hibernate 映射组件?