Я работаю над проектом Java и застрял при попытке обновить объект с помощью ассоциации oneToMany. Вот мои классы:
Team.class
@Entity
@Table(name = "TEAM", schema = SchemaRef.NOM_SCHEMA_REF)
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, region = CacheRegion.CACHE_TEAM)
public class TEAM extends TeamPrincipal {
/**
* long serialVersionUID.
*/
private static final long serialVersionUID = -7697301560938121726L;
/** The players . */
@OneToMany(mappedBy = "tm", cascade = CascadeType.ALL, orphanRemoval = false)
@Fetch(FetchMode.SUBSELECT)
@LazyCollection(LazyCollectionOption.FALSE)
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, region = CacheRegion.CACHE_TEAM)
private Set<Player> listPlayers;
//Getters & Setters
}
Player.class
@Entity
@Table(name = "PLAYER", schema = SchemaReferentiel.NOM_SCHEMA_REF)
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, region = CacheRegion.CACHE_TEAM)
public class Player extends DomainObject {
/**
* long serialVersionUID.
*/
private static final long serialVersionUID = -7697301560938121726L;
/** The id. */
@Id
@SequenceGenerator(
name = "SequenceIdGenerator",
sequenceName = SchemaReferentiel.NOM_SCHEMA_REF + ".SEQUENCE_PLAYER",
allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SequenceIdGenerator")
@Column(name = "PLAYER_ID")
private long id;
/** The Player. */
@ManyToOne
@JoinColumn(name = "lTeam_Player", referencedColumnName = "id", nullable = false)
@ForeignKey(name = "C_FK_PlTeam_Player")
private Team team;
//getters and setter
}
Вызывающим методом DAO является TeamDao.java :
sessionFactory.getCurrentSession().saveOrUpdate(toSave);
Проблема Iя сталкиваюсь с этим отображением, когда я пытаюсь обновить команду, изменяя список игроков, она обновляет атрибуты Team , но игроков всегда такие же, как при добавлении.
Создание выполнено правильно, в режиме отладки при попытке обновления команда содержит новый список игроков для обновления, после вызова метода DAO родительский элемент ( TEAM ) обновляетсяно дети ( игроки ) не