1
データベースに保存する前にジェネレータIDを取得する方法は何ですか?私は多くの検索をしましたが、問題を解決できます。私の問題はuse spring mvcとhibernateとmysqlです。データベースに保存する前にジェネレータIDを取得するにはどうすればよいですか?
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;
}
}
または、他の方法で休止状態ジェネレータを使用する方法はありますか?このように:
ここpublic static long getGeneratorId(String entityName){
return Hibernate.generatorId();
}
あなたは_before save_とはどういう意味ですか??? –
トランザクションが保存されない限り、自動生成されたIDは使用できません。 –
@RavinderReddy最初のステップ:ジェネレータIDを取得します.2番目のステップ:テストをデータベースに保存します。 –