2010-05-20 5 views
1

j'ai le même problème que décrit hererequêtes générées contiennent le nom de schéma et de catalogue

Dans le SQL Informix généré s'attend catalog:schema.table mais ce qui est réellement généré est

catalog.schema.table 

ce qui conduit à une erreur de syntaxe. Paramètre:

hibernate.default_catalog= 
hibernate.default_schema= 

n'a eu aucun effet. J'ai même supprimé le schéma et le catalogue de l'annotation de la table, cela a causé des problèmes différents: la requête ressemblait à ..table même pour définir le catalogue et le schéma d'une chaîne vide.

Versions

  • couture 2.1.2
  • Hibernate Annotation 3.3.1.GA.CP01
  • Hibernate 3.2.4.sp1.cp08
  • Hibernate EntityManager 3.3.2.GAhibernate
  • Jboss 4.3 (similaire à 4.2.3)

Répondre

1

J'ai fini avec l'une des pires hacks je evever a fait:

Le côlon est le wich char incriminé devrait être. » catalog:schema.table.

Informix permet des commentaires dans les instructions SQL select {comment} * from sometable

Je me suis donc

hibernate.default_catalog={ 
hibernate.default_schema=}schemaname 

le code résultant ressemble

select * from {.}schemaname.tablename 

qui est accepté par l'analyseur de requête Informix.

+0

Choisissez cette réponse comme acceptée sinon cette question apparaîtra sur sans réponse –

+0

@Shervin J'espère encore une autre réponse peut-être quelqu'un d'autre a une meilleure solution, je n'ai pas eu le temps de vérifier Johnathans. – stacker

+0

J'ai eu le même problème et il a résolu en supprimant «schéma» et «catalogue» de l'annotation @Table dans l'entité – Kiavash

1

Notez qu'il y a un nouveau (au 2010-04-26), page Web, http://www.iiug.org/opensource, qui contient des informations sur l'utilisation du logiciel Informix avec divers packages Open Source, y compris Hibernate. En particulier, il existe un code téléchargeable qui améliore l'interaction entre Hibernate et Informix.

+0

+1 Merci, cela fournit des correctifs pour une version hibernate distincte, je vais vérifier cela plus tard. – stacker

+0

Malheureusement c'est une version différente d'hibernate, en plus que la construction échoue 'Erreur intégrée: uanble pour exécuter po2xml: Impossible d'exécuter le programme "po2xml": CreateProcess erreur = 2' – stacker

+0

po2xml est un programme connu (même si pas bien connu) - il se peut qu'il y ait une dépendance non documentée à ce sujet. Une recherche avec Google montre qu'il est disponible pour Ubuntu. –

0

Supprimez les attributs schema et catalog de *.hbm.xml.

Questions connexes