【发布时间】:2014-01-27 21:55:47
【问题描述】:
我有一个实体 bean,它的 id int 字段声明为 GenerationType.AUTO,以便自动生成 ID:
@Entity
public class CustomerPool implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
//setters getters
}
不过,我需要确保插入的第一个 CustomerPool 的 ID 为 0。
我认为设置 ID 为 0 的 CustomerPool 会优先于指令,而不是我有不同的行为(使用 JPA 而不是 EclipseLink),但我设置的 ID 大多被忽略。
那么是否可以将 ID 设置为自动生成(如果未另行说明)以使用指定的 ID(如果有说明)? 不知何故,我习惯于在 PHP 中这样做,并且对我来说似乎是很自然的行为。
【问题讨论】:
-
GenerationType.AUTO说“我不在乎这些值是如何生成的!”因此,您真的不应该关心,它是您的 JPA 提供程序和使用的 DBMS 的实现细节。如果您关心,您应该考虑其他生成方法或自己管理生成。
标签: java jpa eclipselink