【发布时间】:2015-02-28 07:13:09
【问题描述】:
我正在开发一个带有 EJB 和 JPA 的 JavaEE 应用程序。
我的实体是这样定义的,例如:
@Entity
public class Utente implements Serializable {
@Id
@GeneratedValue
private int cod_utente;
private String nome_utente;
private String morada_utente;
@Temporal(TemporalType.DATE)
private GregorianCalendar dnasc_utente;
private int tel_utente;
private List<GregorianCalendar> agenda;
@OneToMany
@JoinColumn(nullable=true)
private List<Prescricao> lista_presc;
当我创建实体Utente 时,键是从一个开始按顺序生成的。如果我关闭客户端和服务器并再次执行它们,则重新建立密钥生成器的“计数器”。这会导致错误,因为应用程序将尝试使用主键“1”创建另一个 Utente。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
AFAIK 它应该可以工作。您是否尝试过手动设置不同的生成策略?
-
顺便说一句,哪个 JPA 提供商?哪个数据库系统? JPA 属性是否设置为该方言?
-
我正在使用 glassfish。 JPA 提供程序是 EclipseLink
标签: jpa eclipselink primary-key generated