1

我正在使用 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

}
4

1 回答 1

0

将其添加到@SequenceGenerator 之后就可以正常工作了!!!

allocationSize = 1
于 2021-02-18T10:08:46.803 回答