1

EclipseLinkの既存のエンティティにユーザー定義のカスタムフィールドを追加したいと思います。パフォーマンス上の理由から、エンティティのテーブルに直接格納する必要があります。また、「ファーストクラス市民」、つまりクエリで使用できるようにする必要もあります。

実装の観点から、エンティティにはカスタムフィールドを設定および取得するための2つのメソッドが必要です。

public Object getCustomProperty(String key) { ... }
public void setCustomProperty(String key, Object value) { ... }

カスタムプロパティを設定する場合foo、EclipseLinkは、エンティティのテーブルの。という名前のフィールドに値を格納する必要がありますcustom_foo

エンドユーザーの観点から、ユーザーがカスタムフィールドを定義および管理し、データベースに動的に追加またはデータベースから削除できるGUIを提供したいと思います。

これはEclipseLinkで可能ですか?

よろしく、ヨッヘン

4

1 に答える 1

1

EclipseLinkの拡張機能を確認して くださいhttp://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Extensible_Entities これは列の追加をサポートしています: http : //wiki.eclipse.org/EclipseLink/DesignDocs/368365メインテーブルに格納してはならないという矛盾するステートメントを除いて、後でエンティティのテーブル「custom_foo」列に格納する必要があると述べてください。

マッピングを作成するGUIを作成する必要があります。Eclipselinkには、orm.xmlファイルから読み取るメタデータソース実装が付属しているため、GUIがormファイルに書き込めない場合に使用する、EclipseLinkの独自の実装を作成する必要がある場合があります。

于 2012-03-14T15:18:26.890 に答える