Java 在表之间有@ManyToOne链接时,如何创建对象
我有两门课——个人课和团队课。 一个人只能在一个团队中,但一个团队可以有许多人(个人对象)。问题是Person和Team都需要其他类对象来创建它们自己 课程:Java 在表之间有@ManyToOne链接时,如何创建对象,java,database,hibernate,jpa,mapping,Java,Database,Hibernate,Jpa,Mapping,我有两门课——个人课和团队课。 一个人只能在一个团队中,但一个团队可以有许多人(个人对象)。问题是Person和Team都需要其他类对象来创建它们自己 课程: @Entity @Table(name = "Team") public class Team { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) private i
@Entity
@Table(name = "Team")
public class Team {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private int id;
@Column(name = "teamName", nullable = false)
private String teamName;
@OneToMany(mappedBy = "myTeam", fetch = FetchType.LAZY)
private Set <Person> setOfMembers = new HashSet<Person>();
public Team(int id, String teamName, Set <Person> setOfMembers) {
//usual code (don't want to waste so much space)
}
... other irrelevant fields ...
}
@Entity
@Table(name = "Person")
public class Person{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID", nullable = false)
private int id;
@Column(name = "teamID", nullable = false)
private int teamID;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "teamID", referencedColumnName = "id")
private Team myTeam;
public Person(int id, int teamID, Team myTeam) {
//usual code
}
... other irrelevant fields ...
}
@实体
@表(name=“Team”)
公开课小组{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(name=“id”,nullable=false)
私有int-id;
@列(name=“teamName”,null=false)
私有字符串teamName;
@OneToMany(mappedBy=“myTeam”,fetch=FetchType.LAZY)
私有集合setOfMembers=newHashSet();
公共团队(int-id、字符串teamName、成员集){
//常用代码(不想浪费这么多空间)
}
…其他不相关的领域。。。
}
@实体
@表(name=“Person”)
公共阶层人士{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(name=“ID”,nullable=false)
私有int-id;
@列(name=“teamID”,nullable=false)
私人int团队ID;
@manytone(fetch=FetchType.LAZY)
@JoinColumn(name=“teamID”,referencedColumnName=“id”)
私人团队myTeam;
公众人士(int id、int teamID、团队myTeam){
//常用代码
}
…其他不相关的领域。。。
}
现在在主文件中,我尝试创建一个新对象:
Team t1 = new Team(1,"Nights Watch", <and here i need Person Object, so i
do something as follows:> new Person(1,1, <and here i need Team object>));
Team t1=新团队(1,“夜班”,新人(1,1,);
因此,它不断重复,没有尽头。
我想向数据库中添加一些记录,但我不知道如何添加
实际上,我需要一组Person对象,但我仍然不知道在
团队
类初始化期间,为什么需要所有的队友
只需在不使用Person
参数的情况下执行构造函数,然后执行如下方法:
public void addTeamMember(个人){
成员集合。添加(个人);
}
然后,您可以创建团队
,创建人员
,最后将该人员添加到团队中