JPAプロバイダーとしてHibernateを使用しています。たとえば、このクラスがあります。
@Question("multipleChoiceQuestion")
@Entity
public class MultipleChoiceQuestion extends QuestionUnit {
private ArrayList<String> questionContent;
public MultipleChoiceQuestion() {
this(null, null);
}
public MultipleChoiceQuestion(ArrayList<String> questionContent,
AnswerUnit correctAnswer) {
super(correctAnswer);
this.questionContent = questionContent;
}
public ArrayList<String> getQuestionContent() {
return this.questionContent;
}
}
それを永続化すると、questionContent
プロパティはblobとして保存されます。ElementCollection
アノテーションを使用して、ArrayListのコンテンツ用に個別のテーブルを作成できることを知っています。
この動作(blobとしてプロパティであるコレクションを保存する)がJPA仕様のどこかで指定されているのか、それともHibernate固有なのか疑問に思います。