Bonjour,
Je suis en train de travailler avec Hibernate3 et PostgreSQL9.1.
Je suis en train de persister une entité User.
Mon entité:
Je veux que ce soit la base de données qui génére les identifiants de mes entités : c'est son travail.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 @Entity public class Userdb { @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(nullable=false, unique=true) private long id; @Column(name="first_name") private String firstName; @Column(name="last_name") private String lastName;
Je génere ma table grâce au modèle, à ma classe avec mon fichier de configuration :
je ne comprends pas pourquoi, lorsque je persiste mes entités User, l'identifiant ne commence pas à 1 puis s'incrémente 2,3,4..etc..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> <property name="hibernate.connection.url">jdbc:postgresql://localhost/TestDB1</property> <property name="hibernate.connection.username">postgres</property> <property name="hibernate.connection.password">pwdTest</property> <property name="show_sql">true</property> <property name="hibernate.dialect">org.hibernate.dialect.ProgressDialect</property> <property name="hibernate.current_session_context_class"> org.hibernate.context.ThreadLocalSessionContext </property> <!-- <property name="hibernate.hbm2ddl.auto">update</property> <property name="hibernate.hbm2ddl.auto">create</property> --> <mapping class="com.learnfactory.domain.Userdb" /> </session-factory> </hibernate-configuration>
voilà ma table avec ces données:
id first_name last_name
327680 Dupont Pierre
360448 Ducou Jean
393216 Milou Jeanne
425984 Duran Lucy
458752 Dulo Pierre
oui, je sais : l'essentiel c'est que l'identifiant soit unique et c'est le cas mais pourquoi il commence pas à 1, 2, 3 ...etc
merci d'avance pour vos éclaircissements...
Partager