我是Hibernate的新手。我正在使用Hibernate和JPA。我有一个带注释的实体类和一个与该实体类相关的表。
@Entity
public class Test implements Serializable {
@Id
@GenericGenerator(name="inc" , strategy="identity")
@GeneratedValue(generator="inc")
private int id;
private String address; // setter getter and constructor
}
保存此实体时,会将数据插入数据库。但在应用程序运行过程中,另一个应用程序将数据插入到同一个当我的应用程序尝试保存数据时,重复条目'59'以生成关键'PRIMARY'异常。所以我想使用一个生成器,它可以插入数据并在数据库级别而不是应用程序级别生成id,并且标识符必须保存回我的实体。
答案 0 :(得分:0)
使用表生成器策略或序列生成器。
答案 1 :(得分:0)
您不必指定生成器。您可以使用默认生成器,也不要手动设置ID。如果错误仍然出现在您的合并/持久化方法之后。
您可以在https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing
找到有关生成器的更多信息@Entity
public class Test implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String address; // setter getter and constructor
}