2011-06-03 3 views
0

J'ai un problème avec une classe d'entité. Quand je lance mon application avec hibernate.hbm2ddl.auto = create, alors elle crée toutes les autres tables d'entités mais pas celle-ci. Pourquoi donc? Et quand je crée la table par moi-même et après essayer d'insérer quelque chose dans, puis je reçois cette erreur: http://pastebin.com/m4gjxqNCImpossible d'exécuter la mise à jour par lots JDBC

Voici ma classe d'entité: entité utilisateur: http://pastebin.com/YXvzFSgt Commentaire entité: http://pastebin.com/RpZEUPxN

Et voici la classe UserDAO http://pastebin.com/LrTCg0GC

+0

Quel SGBD utilisez-vous et quel pilote JDBC? BBM2DLL peut générer une syntaxe SQL incorrecte si vous n'utilisez pas le pilote correct pour votre base de données. En outre, Hibernate est-il au courant de votre entité utilisateur? Assurez-vous qu'il est inclus dans les classes mappées ou les classes/packages annotés. –

+0

show hibernate.cfg –

Répondre

1

Vous semblez utiliser PostgreSQL. Par ce document, 'Utilisateur' est un mot réservé PostgreSQL. Essayez d'ajouter une annotation @Table ("user_tb") pour votre entité utilisateur, afin de forcer un nouveau nom de table.

@Entity 
@Table("user_tb") 
public class User extends LightEntity implements Serializable { 
//.. 

} 
+0

Merci beaucoup, je ne savais pas que :) – karq

Questions connexes