我无法从Database PostgreSQL生成Hibernate映射文件和POJO?

时间:2014-01-26 06:14:23

标签: java hibernate postgresql

在PostgreSQL数据库中创建了我的表和关系,但是当我想生成Hibernate Mapping Files和POJO时,它们没有生成

我已将所有相应的步骤应用于hibernate.cfg.xml代和hibernate.reveng.xml

我认为这是因为我用大写的名称表和字段,因为我用另一个BD测试了小写表的名称,如果它正常工作,我会显示我的脚本表。

CREATE TABLE "public"."T_LNEA"(
 "ID_LNEA" Integer NOT NULL,
 "ID_CTGRIA" Integer NOT NULL,
 "DSCRPCION" Character varying(200)
)
WITH (OIDS=FALSE)
;

ALTER TABLE "public"."T_LNEA" ADD CONSTRAINT "PK_ID_LNEA" PRIMARY KEY ("ID_LNEA")
;

CREATE TABLE "public"."T_SUB_LNEA"(
 "ID_SUB_LNEA" Integer NOT NULL,
 "ID_LNEA" Integer NOT NULL,
 "DSCRPCION" Character varying(200)
)
WITH (OIDS=FALSE)
;

-- Add keys for table public.T_SUB_LNEA

ALTER TABLE "public"."T_SUB_LNEA" ADD CONSTRAINT "PK_ID_SUB_LNEA" PRIMARY KEY ("ID_SUB_LNEA")
;

CREATE TABLE "public"."T_CTGRIA"(
 "ID_CTGRIA" Integer NOT NULL,
 "DSCRPCION" Character varying(200)
)
WITH (OIDS=FALSE)
;

ALTER TABLE "public"."T_CTGRIA" ADD CONSTRAINT "PK_ID_CRITERIA" PRIMARY KEY ("ID_CTGRIA")
;

使用JBOS Tools加载表的图像。

enter image description here

但我仍然需要支持,因为我无法生成POJO。

4 个答案:

答案 0 :(得分:4)

在文件" hibernate.reveng.xml"有以下

[A][B][C][D][Z][E][F][G][H]
            ^  <---------->

您必须删除 match-schema =&#34; mybd&#34;

默认情况下,当你在hibernate中使用postgresql时,会出现match-schema,这在mysql中不会发生,删除并运行,在Netbeans8.0中检查

答案 1 :(得分:1)

嗨,如前所述,如果我更改表的名称及其字段为小写,如果生成POJO,问题是为什么不用大写字母生成..... < / p>

答案 2 :(得分:0)

使用Hibernate提供的逆向工程工具。这取决于您的IDE。 例如,使用NetBeans,就是这样做的:https://netbeans.org/kb/docs/web/hibernate-webapp.html

答案 3 :(得分:0)

你解决它以某种方式无法识别大写的表名,但如果你以大写形式识别表的属性,那么在更改EJB注释后临时重命名表为小写,至少它以某种方式工作。 / p>

相关问题