Я пытаюсь отобразить значение из двух таблиц Activites и Favorites с использованием struts2 и гибернационного отношения один-ко-многим
//Activities
@Entity
@Table(name="ACTIVITIES")
@OneToMany(fetch = FetchType.EAGER, mappedBy = "activities" , targetEntity=Favorites.class, cascade=CascadeType.ALL )
public Set<Favorites> getFavorites() {
return favorites;
}
public void setFavorites(Set<Favorites> favorites) {
this.favorites = favorites;
}
@Id
@GeneratedValue
@Column(name="ACTIVITYID")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
//Favorites
@Entity
@Table(name="Favorites")
@ManyToOne(optional=false)
public Activities getActivities() {
return this.activities;
}
и другие поля
В JSP:
<s:iterator value="activityList" id="activityList" status="activityStatus" <s:hidden id="activityList" name="activityList[%{#activityStatus.index}].id" />
<s:iterator value="favorites" var="fav" status="myStat">
<s:checkbox id="accFavorities" name="accFavorities"/></td>
<s:iterator>
но при отправке я получаю идентификатор из таблицы активности, но не таблицу значений в фаворитах, которая является флажком.
В моем классе действий
for (Activities al : activityList) {
for (Favorites ss : al.getFavorites()) {
System.out.println(ss.getCompany());
System.out.println(ss.getAccFavorities());
}
}
В jsp я попробовал что-то подобное ниже, в этом случае значение из самой базы данных не приходит
<s:iterator value="%{favorites}" id="fav" status="myStat">
<s:checkbox id="accFavorities" value="activityList[%{#activityStatus.index}].fav[%{#myStat.index}].accFavorities"/></td>
Любая помощь очень ценится.
спасибо