gpt4 book ai didi

java - 在保存到数据库之前如何获取生成器 ID?

转载 作者:行者123 更新时间:2023-11-30 21:55:30 25 4
gpt4 key购买 nike

如何在保存到数据库之前获取生成器 ID?我搜索了很多,但它可以解决我的问题。我的项目是使用 spring mvc 和 hibernate 以及 mysql。

import javax.persistence.*;

@Entity
@Table(name = "Test")
public class Test {
private Integer id;
private String name;


@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.TABLE,generator = "Test_gen")
@TableGenerator(name = "Test_gen",table = "SerialNum",pkColumnName =
"tableName",valueColumnName = "tableValue",pkColumnValue = "Test")
public Integer getId() {
return id;
}

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

public String getName() {
return name;
}

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

或者如何以其他方式使用 hibernate 生成器?像这样:

public static long getGeneratorId(String entityName){
return Hibernate.generatorId();
}

最佳答案

这里是获取当前表标识的解决方案之一,因为您已经在使用 Hibernate,所以您可以使用这行代码:

 session.CreateSqlQuery( "SELECT `AUTO_INCREMENT` " +
"FROM INFORMATION_SCHEMA.TABLES " +
"WHERE TABLE_SCHEMA = 'Your_DB_NAME' "+
"AND TABLE_NAME = 'Test' ").uniqueResult();

关于java - 在保存到数据库之前如何获取生成器 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45349268/

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