生成的查询包含架构和目录名称

时间:2010-05-20 11:50:13

标签: java hibernate seam informix java-ee-5

我遇到与here

所述相同的问题

在生成的SQL中,Informix期望catalog:schema.table,但实际生成的是

catalog.schema.table

导致语法错误。 设定:

hibernate.default_catalog=
hibernate.default_schema=

没有效果。 我甚至从表注释中删除了模式和目录,这导致了不同的问题:查询看起来像..table一样,用于将目录和模式设置为空字符串。

版本

  • seam 2.1.2
  • Hibernate Annotations 3.3.1.GA.CP01
  • Hibernate 3.2.4.sp1.cp08
  • Hibernate EntityManager 3.3.2.GAhibernate
  • Jboss 4.3(类似于4.2.3)

3 个答案:

答案 0 :(得分:1)

请注意,有一个新的(截至2010-04-26)网页http://www.iiug.org/opensource,其中包含有关将Informix软件与各种开源软件包(包括Hibernate)配合使用的信息。特别是,有可下载的代码可以改善Hibernate和Informix的交互。

答案 1 :(得分:1)

我最终遇到了我最糟糕的黑客之一:

冒号应该是'。''。 catalog:schema.table

Informix允许在SQL语句select {comment} * from sometable

中发表评论

所以我设置了

hibernate.default_catalog={
hibernate.default_schema=}schemaname

结果代码看起来像

select * from {.}schemaname.tablename

由informix查询解析器接受。

答案 2 :(得分:0)

schema删除catalog*.hbm.xml属性。