gpt4 book ai didi

java - 如何连接同一张表中的多列?

转载 作者:搜寻专家 更新时间:2023-11-01 03:47:51 25 4
gpt4 key购买 nike

我有 2 个表“student”和“picklist”。
选择列表 - 使用它 作为州、国家、城市等列表的通用表。

这里是学生类:

@Entity
public class Student {
@Id
Long id;
String firstName;
String lastName;
Long accountId;

@OneToOne(fetch=FetchType.EAGER)
@JoinColumns({@JoinColumn(name="country",referencedColumnName = "name"),
@JoinColumn(name="accountId",referencedColumnName = "accountId")}
)
PickList country;

@OneToOne(fetch=FetchType.EAGER)
@JoinColumns({@JoinColumn(name="state",referencedColumnName = "name"),
@JoinColumn(name="accountId",referencedColumnName = "accountId")}
)
PickList state;
}

这是选择列表:

@Entity
@Table(name = "picklist", uniqueConstraints = {
@UniqueConstraint(columnNames = {"accountId", "name"})
})
public class PickList {
@Id
long id;

long accountId;
String name;
}

错误—— Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: column: accountid (should be mapped with insert="false"update="false")

最佳答案

信息很明确:您在映射中有一个重复的列。这意味着您将同一个数据库列映射了两次。

尝试这样做 @JoinColumn(name="accountId",referencedColumnName = "accountId", 可插入=假,可更新=假)

关于java - 如何连接同一张表中的多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39191185/

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