2015-04-03 3 views
2

Je viens de commencer à apprendre à hiberner et à avoir l'air bien. Je suis juste coincé avec la création d'une colonne dans une table avec la propriété d'incrémentation automatique. Voici comment je définissais ma colonne dans ma classe:Hibernate Auto Increment dans SQLite

@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
@Column (name="program_id") 
protected Integer programid; 

Le problème est ici lorsque la requête SQL est créée, elle renvoie une erreur, car la requête est incorrecte pour SQLite. Voici la requête générée:

create table program (program_id integer not null auto_increment....) 

Vous voyez qu'il est écrit comme auto_increment au lieu de AUTOINCREMENT (ignorer la casse) je l'ai déjà essayé l'identité et retourne encore une requête SQL incorrecte.

Y a-t-il une "stratégie" correcte dans l'annotation pour aborder cela? ou existe-t-il une autre configuration pour avoir la bonne requête sql?

Répondre

0

Essayez-le

@Id 
@Column(name = "program_id") 
@GeneratedValue(strategy=GenerationType.IDENTITY) 
@Basic 
protected Integer programid;