我正在使用 JPA 创建一个 CRUD Web 应用程序。
从技术上讲,一切正常(完全没有错误),但是在检查我的数据库时,我注意到在向我的表中添加新条目后,从序列生成的 ID 是负值:-46、-45、-44 , ETC ...
以下是我的代码的相关部分:
我的实体:
@Entity
@NamedQuery(name="Book.findAll", query="SELECT b FROM Book b")
@SequenceGenerator(name="ma_seq", sequenceName="book_seq")
public class Book implements Serializable {
private static final long serialVersionUID = 1L;
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="ma_seq")
@Id private long id;
private String auteur;
private String langue;
private String titre;
public Book() {
}
//...getters and setters
}
我的道:
public class MyDAO {
//Constructeur
public MyDAO(){
}
@PersistenceContext
private EntityManager em;
@Resource
private UserTransaction userTransaction;
public EntityManager getEm() {
return em;
}
public void setEm(EntityManager em) {
this.em = em;
}
@Transactional
public void register(Book livre) throws NotSupportedException, SystemException, SecurityException, IllegalStateException, RollbackException, HeuristicMixedException, HeuristicRollbackException {
// Save employee
userTransaction.begin();
this.em.persist(livre);
userTransaction.commit();
}
//other fonctions
}