Jpa @带外键的onetomany

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 我不知道如何做到这一点,这里所有的

我有两张这样的桌子:

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


我不知道如何做到这一点,这里所有的例子和问题都与此相反

你的
@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;  
           }