永続化されないクエリ可能なコレクションをエンティティに含めたいと思います。言い換えれば、一時的な多対多の関係です。私が試してみました:
@Transient
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name="QuestionSetClass_Link", schema = "SVY",
joinColumns={@JoinColumn(name="QuestionSetID", referencedColumnName="QuestionSetID")},
inverseJoinColumns={@JoinColumn(name="QuestionSetClassID", referencedColumnName="ID")})
private Collection<QuestionSetClass> questionSetClasses;
public Collection<QuestionSetClass> getQuestionSetClasses(){
return questionSetClasses;
}
public void setQuestionSetClasses(Collection<QuestionSetClass> questionSetClasses){
this.questionSetClasses = questionSetClasses;
}
ただし、EclipseLinkはそれをデプロイせず、次のエラーが発生します。@Transientが指定されているフィールドまたはプロパティにマッピングアノテーションを適用することはできません。[フィールドquestionSetClasses]はこの制限に違反しています。
誰かがこれを処理するための最良の方法を教えてもらえますか?