我在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产生了错误的实体表(这意味着我可以找到另一个生成错误的实体)。
谢谢你的帮助。
暂无答案!
目前还没有任何答案,快来回答吧!