У меня есть две сущности, конкуренция и команды:JPA ManyToOne и OneToMany отношения не сохраняющиеся
Конкурс:
@Entity
public class Team implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
int id;
@Column(length=255)
String name;
@ManyToOne(optional=true)
Competition nextCompetitionAttending;
List<SiteUser> teamMembers;
nextComeptitionAttending устанавливается следующим способом:
public void setNextCompetitionAttending(Competition nextCompetitionAttending) {
this.nextCompetitionAttending = nextCompetitionAttending;
nextCompetitionAttending.addTeam(this);
}
конкуренции определяется следующим образом:
@Entity
public class Competition implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
int id;
int maxTeamSize;
String name;
@OneToMany(mappedBy="nextCompetitionAttending")
List<Team> teamsAttending;
Мой код выглядит настойчивость так:
utx.begin();
EntityManager em = emf.createEntityManager();
em.merge(user);
Competition c = em.find(Competition.class, id);
Team teamon = user.getTeamOn();
teamon.setNextCompetitionAttending(c);
System.out.println("Set next");
em.flush();
utx.commit();
em = emf.createEntityManager();
Team t = em.find(Team.class, teamon.getId());
System.out.println(t.getNextCompetitionAttending());
В базе данных, в столбце «NEXTCOMPETITIONATTENDING_ID» имеет нулевое значение, как это Println в конце кода, который я использую, чтобы попытаться отлаживать это.
Почему это не сохраняется?
Какой IDE вы используете, NetBeans? – Lion
Какие ошибки вы получили? – Lion
@ Lion: как важна IDE? Java-код - это Java-код. Был ли он создан с помощью NetBeans или нет, не имеет значения. –