2

这让我发疯——我很确定 Hibernate 可以确定表之间的映射关系,从而在生成的 POJO 中反映这一点。

除非它不是。

我将 MySQL 与 STS & Hibernate Tools 4.0.0 一起使用,并且在 Person <--> Phone 和 Phone <--> PhoneType 之间有一对多和一对一的表关系,我能够使用“休眠代码生成配置”生成“域代码”和“DAO 代码”,但是这两个文件都没有表之间的任何映射。

现在这是一个可能的问题:

为了获得任何注释,我打开了选项'Generate EJB3 annotations'。现在我在这里使用普通的旧 Hibernate,而不是JPA。

所以我的问题是:

  1. Hibernate 工具可以为普通的旧 Hibernate 生成注释吗?
  2. 它可以在 POJO(即@manytomany / @manytoone)中生成映射信息吗?

非常感谢你的帮助,

鲍勃

4

2 回答 2

3

好的,我终于成功了!

问题是,就像所有具有技术性质的事物一样,既简单又深刻。

一句话:区分大小写

我用大写字母(即人,电话)创建了我的表,我使用 MySQL Workbench 创建了外键,它们看起来像这样:

CONSTRAINT FK_Phone_Person FOREIGN KEY (person_id) REFERENCES Person (person_id)

代替

CONSTRAINT FK_Phone_Person FOREIGN KEY (person_id) REFERENCES person (person_id)

注意大写。

在花了很多血、汗水和泪水试图让这该死的东西正常工作后,SOO 很高兴,而问题一直都是问题所在!

于 2012-10-16T21:42:16.023 回答
0

工作过

我从 STS eclipse 中的 Hibernate 工具插件创建了新的逆向工程 XML“hibernateII.reveng.xml”,它解决了这个问题。

虽然我也尝试过更改现有文件的内容,但没有成功,新旧文件的内容相同,很奇怪,但新文件解决了这个问题。

于 2014-11-30T05:45:19.483 回答