在intelij中,java通过数据库模式Map实体对象会产生错误的注解和关系

clj7thdc  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(244)

我在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 它在用户实体类中生成:

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的Map产生了错误的实体表(这意味着我可以找到另一个生成错误的实体)。
谢谢你的帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题