Jpa @带外键的onetomany
我有两张这样的桌子: 1) 表服务器类型:Jpa @带外键的onetomany,jpa,one-to-many,Jpa,One To Many,我有两张这样的桌子: 1) 表服务器类型: server_type_id : number server_type_name : nvarchar 2) 表服务器: server_id:number server_IP:nvarchar2 servername :nvarchar2 server_type_id:number 我想创建带有@OneToMany和server\u type\u id外键的服务器表,外键引用自server\u type 我不知道如何做到这一点,这里所有的
server_type_id : number
server_type_name : nvarchar
2) 表服务器:
server_id:number
server_IP:nvarchar2
servername :nvarchar2
server_type_id:number
我想创建带有@OneToMany
和server\u type\u id
外键的服务器表,外键引用自server\u type
我不知道如何做到这一点,这里所有的例子和问题都与此相反你的
@OneToMany
关系可以实现
你试过这个吗??。如果您能发布一些代码,我们可能会有所帮助:)
公共类服务器{
@许多酮
@JoinColumn(name=“服务器类型\u id”)
私有服务器类型服务器类型;
}
公共类服务器类型{
@OneToMany(mappedBy=“服务器类型”)
专用收集服务器;
}
@OneToMany(cascade=CascadeType.ALL)@JoinColumn(name=“server\u type\u id”,referencedColumnName=“server\u type\u id”)公共列表getServerType(){return serverType;}不要在注释中发布代码。编辑你的问题。你所使用的代码毫无意义。这些表表示一个服务器类型具有多个服务器,或者多个服务器可以具有相同的服务器类型。你的代码告诉JPA一台服务器有几个服务器类型。我需要这样的东西:@OneToMany@ForeignKey(name=server\u type\u id,referenced=server\u type\u id),但是如果语法正确,你的例子正是我想要的,它在服务器类型表中创建服务器id,但我想在服务器类型表TNXD中创建服务器id。您知道吗?外键将在您使用@JoinColumn
的表中,因此在这种情况下,它将在车辆表中,如果您想要反转,只需反转它们(包括@OneToMany
和@ManyToOne
)即在UserDetails中使用@JoinColumn
,在车辆中使用mappedBy。现在将同样的东西应用到您的类中。@OneToMany ServerType.server必须是某种类型的集合(可能命名为servers)!谢谢,修好了:)。我想发布一些示例代码,但没有尝试。教训:绝不按代码假设发布;)我以前试过,这不是答案。你知道我想要一个服务器实体中的一个域,其服务器类型id外键引用服务器类型实体@Kalher的答案是相反的,它是在服务器类型实体中创建服务器类型id,但我想要服务器类型identity@omidhaghighatgoo当前位置你所要求的是不可能的。服务器中的一列如何引用服务器类型的多个ID?我的服务器表知道服务器类型的键,服务器类型不需要知道服务器表,我展示我的ERD,为什么不可能
class UserDetails {
@OneToMany(mappedBy="user")
private Vehicle vehicle;
//Other fields
}
class Vehicle {
@ManyToOne
@JoinColumn(name="USER_ID")
private UserDrtails user;
//other fields
}
public class Server {
@ManyToOne
@JoinColumn(name = "server_type_id")
private ServerType serverType;
}
public class ServerType {
@OneToMany(mappedBy = "serverType")
private Collection<Server> servers;
}