免責事項:私はJava開発に全く新しいです。私は多くのC#といくつかのNHibernateを行ってきましたが、この@Attributesとget/setメソッドの世界は完全に私にとって外国のものです。Hibernateでコレクションプロパティをシリアライズするには?
質問:私は非常に単純な永続オブジェクトを持っている
@Entity
@Table(name = "ADMIN_SETTINGS")
public class AdminSettings extends ClientEntity {
@Column(name = "SAMPLE_ID_PREFIX")
private String sampleIdPrefix;
@Column(name = "USE_24_Hr_CLOCK")
private Boolean use24hrClock;
private Integer[] FieldsForSampleBoxView;
...
最後のフィールドは私がして動けなくなることをマッピング。これは、最大で3つの整数の単純なリストです。私は1対多のテーブルは必要ありません。私はそれを集約する必要はありません、私はちょうどdbのフィールドにコレクションをシリアル化する必要があります。理想的には何か人間が読むことができますが、正直なところ、私は気にしません。
これをマッピングするにはどうすればよいですか?
したがって、@Column( "FIELDS_FOR_SAMPLE_VIEW_BOX") 'と' @Type(type = "serializable") 'をInteger []配列に置くだけでうまくいくはずです。正直なところ、このデータが破損してユーザが再選択しなければならない場合はあまり重要ではありません。あなたは@ Lob/@ Typeソリューションの外観を含めてください。ありがとう! –
はい、うまくいくはずです。列はバイナリ列でなければなりません。データが破損していると、ユーザーは何もできなくなります。エンティティがロードされるたびに例外がスローされます。 –
ああ...確かに問題になるでしょう –