Bonjour
J'ai réussis à créer un lien odbc pour une base de données hyperfile , mais j'ai un problème au niveau de hibernate ,quel dialect faut-il utiliser pour communiquer avec cette base.
J'ai vraiment besoin d'aidesmerci de me répondre.
Bonjour
J'ai réussis à créer un lien odbc pour une base de données hyperfile , mais j'ai un problème au niveau de hibernate ,quel dialect faut-il utiliser pour communiquer avec cette base.
J'ai vraiment besoin d'aidesmerci de me répondre.
aucun, hibernate ne fournis pas de dialect pour hyperfile que je sache.
alors si c'est non comment puis-je mapper mes tables
soit en essayant un dialecte d'une bd dont la syntaxe est proche de celle de hyperfile, soit en ne fournissant pas de dialect, tout simplement.
Si vous connaissez une bd proche de hyperfile merci de me la données .
Si j(applique votre deusieme proposition , est-ce-que je peux mapper mes classes sans fournir le dialect si oui comment je peux faire
Merci
oui, pour ne pas fournir de dialect, il suffit.... de ne pas mettre le dialect dans la configuration hibernate, tout simplement.
J'ai fais cette manip mes il me genere une exception comme quoi il faut spécifier le dialect
on peux voir l'exception?
org.hibernate.HibernateException: Hibernate Dialect must be explicitly set for database: HyperFileSQL
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:62)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
essaie ceci comme dialecte:
org.hibernate.dialect.GenericDialect
mais comme il a été supprimé des version récentes de hibernate, les forums hibernate semblent recommander de créer ton propre dialect, même si il ne fait rien de particulier, en étendant juste "Dialect":
Ca marcehra autant que possible, une partie des fonctionnalité non standard ne seront pas accessible (utilisantion de blob nottement)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 import org.hibernate.dialect.Dialect public class HyperfileDialect extends Dialect { }
Merci tchize c'est tres gentil,
Une question la classe que je vais créer je vais la mettre où exactement ?
ou tu veux dans ton code, le tout c'est qu'elle soit publique et que tu mette le nom complet de cette classe dans le fichier de config hibernate.
j ai mis la classe dans un package "com.myapp.hibernate"
dans le fichier hibernate.cfg j'ai mis ça :
<property name="hibernate.dialect">com.myapp.hibernate.HyperfileDialect</property>
mais ça me genere l'exception suivante :
org.hibernate.HibernateException: Dialect class not found: com.myapp.hibernate.HyperfileDialect
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:81)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:42)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
Que dois-je faire![]()
ta classe compilé est bien correctement dans le classpath de ton application, tu lance comment ton application?
je ne compile pas l'aaplication mais "run hql query" pour tester une requete et il me genere l'exception
ca classe doit être compilée et mise dans le classpath de ton "run" (j'ignore d'ailleurs de quoi il s'agit)
Tout comme tes classes mappée, ta classe dialect doit être compilée et mise dans le classpath de ton "run" (j'ignore d'ailleurs de quoi il s'agit)
j ai compilé mon application et ça marche Merci beaucoup .
Je vais essayer de generer mes classes .
J'ai un autre problème dans mon application dans ma base de données il y a des tables sans clé primaire comment puis-je les mapper avec hibernate sachant que hibernate refuse de mapper les tables sans clé primaires;
si tu a une colonne avec contrainte d'unicité tu peux l"utiliser comme clé, sinon tu va devoir ajouter la colonne avec les id.
Partager