Probleme de generatedID hibernate
Bonjour,
J'ai un problème sur lequel je bloque complètement.
J'ai une classe Jeune que je mappe sur une table dans une base postGresql,
Voila la declaration de mon entité:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
@Entity
@Table(name = "bvi_jeune")
public class JeuneEntity implements Serializable {
/**
*
*/
private static final long serialVersionUID = -5578132637752343973L;
private int idJeune;
...
@Id
@Column(name = "id_jeune", nullable = false, unique = true)
@GeneratedValue(strategy = GenerationType.AUTO)
public int getIdJeune() {
return idJeune; |
Et voila le code de creation de ma table mappée:
Code:
1 2 3 4 5
|
CREATE TABLE bvi_jeune
(
id_jeune serial NOT NULL, -- Identifiant unique du jeune - autoincremente
... |
Voila mon persistence.xml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<persistence-unit name="testProject" transaction-type="RESOURCE_LOCAL">
<non-jta-data-source/>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.hbm2ddl.auto" value="create-update" />
<property name="hibernate.query.factory_class" value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory" />
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
<property name="hibernate.connection.url" value="jdbc:postgresql://serveur:5430/testBd"/>
<property name="hibernate.connection.username" value="test" />
<property name="hibernate.connection.password" value="test" />
<property name="dialect" value="net.sf.hibernate.dialect.PostgreSQLDialect" />
<property name="show_sql" value="true"/>
<property name="hibernate.jdbc.batch_size" value="0"/>
<property name="hibernate.jdbc.use_streams_for_binary" value="true"/>
</properties>
</persistence-unit> |
Voila le code d'insertion :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
tx=em.getTransaction();
tx.begin();
JeuneEntity jeuneEntity = new JeuneEntity();
jeuneEntity.setLbNom("test");
jeuneEntity.setLbPrenom("test");
jeuneEntity.setDtNaissance(new Date());
jeuneEntity.setDtCreation(new Date());
jeuneEntity.setCdCreUser("userTest");
em.persist(jeuneEntity);
tx.commit(); |
Et voila la trace d'erreur:
Code:
1 2
|
ERROR: duplicate key value violates unique constraint "pk_bvi_jeune" |
Il essaie d'inserer à un id déjà existant, pourtant la classe et la table ont tous deux les clés auto increment.
Toutes mes classes et mes tables du projet sont completement en auto, et les insertions s'y deroulent très bien, il n'y a que celle là qui bloque.
Je pige rien du tout sur la récupération auto incrementale de cette table de jeunes.
Quelqu'un peut me dire où j'ai fauté?
Merci