gpt4 book ai didi

java - JPA OneToMany MappedBy 关系

转载 作者:行者123 更新时间:2023-11-30 06:52:07 27 4
gpt4 key购买 nike

我有三个类,Site、GoupIP 和 IP

一个站点有一个或多个 GroupIP。一个 GroupIP 有一个或多个 IP。

代码如下:

网站

@Entity
@Table(name = "site")
public class Site implements Serializable {
private Set<GroupIp> groups;

@OneToMany(mappedBy = "site", fetch = FetchType.EAGER, cascade =CascadeType.ALL)
public Set<GroupIp> getGroups() {
return groups;
}

public void setGroups(Set<GroupIp> groups) {
this.groups = groups;
}

}

组 IP

@Entity
@Table(name = "groupip")
public class GroupIp implements Serializable {
private Set<Ip> ips;
private Site site;

@ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name = "site_id")
public Site getSite() {
return site;
}

@OneToMany(mappedBy = "groupip", fetch = FetchType.EAGER, cascade =CascadeType.ALL)
public Set<Ip> getIps() {
return ips;
}

public void setIps(Set<Ip> ips) {
this.ips= ips;
}

}

知识产权

@Entity
@Table(name = "ip")
public class Ip implements Serializable {
private GroupIp groupIp;

@ManyToOne(targetEntity = GroupIp.class,cascade = CascadeType.MERGE)
@JoinColumn(name = "groupip_id", nullable=false)
public GroupIp getGroupIp() {
return groupIp;
}

public void setGroupIp(GroupIp groupIp) {
this.groupIp = groupIp;
}

}

在 GroupIp 类中,我得到:

在属性“ips”中,“映射依据”值“groupip”无法解析为目标实体上的属性。

我的代码有什么问题??

最佳答案

必须放入关系中的 mappedBy 名称是类属性的名称,而不是表名称。

所以把 @OneToMany(mappedBy = "groupIp",... (注意大写)而不是 @OneToMany(mappedBy = "groupip",...

关于java - JPA OneToMany MappedBy 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39506211/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com