Bonjour,
J'utilise Hibernate 3.0 avec une base Postgresql. Je souhaitais créer mes clés primaires grâce au type serial pour pouvoir insérer dans les tables sans avoir à gérer un identifiant unique, mais ce n'est pas géré directement, donc dans ma classe java, je place les tags Xdoclets suivants:
Code:
@hibernate.id generator-class="sequence" type="int" column="cty_id"...
@hibernate.generator-param name="sequence" value="country_cty_id_seq"
Je retrouve donc dans le fichier .hbm.xml correspondant:
Code:
<id name="id"
column="cty_id"
type="int"
length="4"
unsaved-value="null">
<generator class="sequence">
<param name="sequence">country_cty_id_seq</param>
</generator>
Et le fichier de création de table crée bien la table, la séquence mais pas de lien entre les deux comme si j'avais utilisé le type serial direct en postgres. Je dois alors faire un:
Code:
ALTER TABLE country ALTER COLUMN cty_id SET DEFAULT nextval('public.country_cty_id_seq'::text)
Pour lier la séquence et la table.
Exsite-il une alternative à créer à la main les ~ 40 lignes d'alter table pour couvrir ma base?
Ais-je loupé quelque chose? fort probable mais quoi...
David