通过intelij中的数据库模式映射实体对象会生成错误的注释和关系

时间:2018-08-13 18:00:25

标签: java mysql hibernate intellij-idea

我在SQL中有以下内容:

CREATE TABLE `user` (
  `id` int(11) NOT NULL,
  `power_id` int(11) NOT NULL
) 
ALTER TABLE `user`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `power_id` (`power_id`),

ALTER TABLE `user`
  ADD CONSTRAINT `FK_user_power` FOREIGN KEY (`power_id`) REFERENCES `power` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;

CREATE TABLE `power` (
  `id` int(11) NOT NULL,
  `updated_date` date NOT NULL
)

(手打字) 但是,当我执行view Persistence -> Generate Persistance Mapping -> By Database Schema时,它在User实体类中生成了此代码:

private PowerEntity powerByPowerId;
@ManyToOne
@JoinColumn(name = "power_id", referencedColumnName = "id", nullable = false)
public PowerEntity getPowerByPowerId() {
    return powerByPowerId;
}

这显然是1:n关系(例如,多个用户拥有一种力量),而sql则是1:1关系。

现在我不确定我的sql错误还是intelij生成了错误的关系。

如何处理?我的数据库架构并不小,到目前为止我只注意到了这个错误,但是我不确定它是我的错还是intelij的映射产生了错误的实体表(这意味着我可以找到另一个生成错误的实体)。

感谢帮助。

0 个答案:

没有答案