レストランとタグの間にはたくさんの関係があります。ここに私のクラスである:Spring MVCは多対多の関係をロードします
public class Restaurant {
@Id
@GeneratedValue
private int id;
(...)
@ManyToMany
@JoinTable(name="restaurant_tag",
joinColumns={@JoinColumn(name="restaurant_id")},
inverseJoinColumns={@JoinColumn(name="tag_id")})
private List<Tag> tags;
と:
public class Tag {
@Id
private int id;
private String name;
@ManyToMany
@JoinTable(name="restaurant_tag",
joinColumns={@JoinColumn(name="tag_id")},
inverseJoinColumns={@JoinColumn(name="restaurant_id")})
private List<Restaurant> restaurants;
私はレストランに接続されたすべてのタグを表示したいです。私のJSPで
modelMap.addAttribute("tagList", restaurant.getTags());
::私はレストランのページに行くと、私はエラーを得
<c:forEach items="${tagList }" var="var"><c:out value="${var }" ></c:out></c:forEach>
:ここでは、コントローラの
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: beans.Restaurant.tags, no session or session was closed
すでに別の質問でお伝えしましたが、おそらく気づかなかったでしょう:マッピングが間違っています。同じ双方向関連が2回マップされます。サイドの1つはmappedBy属性を使用する必要があります。 –