0

この使用例を考えてみましょう: mysql テーブル X と Java JPA エンティティ X。

create table X 
(id int(11),
 name varchar(200),
 value1 bigint(16),
 value2 bigint(16),
 value3 bigint(16),
 .
 .
 value100 bigint(16));

次のようなエンティティにマップしたいと思います。

@Entity("x")
@Table("x")
public class X {

@Id
@Column("id)
public int getId ...

@Column("name")
public String getName ..

@SomeMagicalExpression
public List<Long> getValues()..
}

各値が行である結合テーブルを作成するオプションをよく知っています。結合の実行から逃れようとしています。100 個のゲッターとセッターを作成するのは本当に嫌です。

4

1 に答える 1

1

暗闇でのショットですが、OpenJPA @Columns アノテーションがニーズに合うかもしれません..

http://docs.oracle.com/html/E24396_01/ref_guide_mapping_custom.html#ref_guide_mapping_custom_field_conf_extex

ただし、複数の列をコレクションにマップするために使用できるかどうかはわかりません.おそらくArrayListをサブクラス化し、そのコンストラクターをオーバーライドして、リストに値を入力するためにいくつかの値を取得します。(@Columns で使用される値がコンストラクターに対応している必要があるという私の仮定が正しい場合..)

于 2012-11-28T21:45:31.687 に答える