私がテーブルに持って@OneToMany関係で休止状態のMap <String、String>をマップすることは可能ですか?
許可:Permi に多くの関係を1とPermissionCategory
とテーブルpermission_desc
- ssion
リストの代わりに1対多の関係でマップを返すことは可能です。 は、これは私がPermissionCategoryドメインで今やっているものです:2つの文字列がが permission_idある
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinTable(name = "perm_cat_map", joinColumns = { @JoinColumn(name = "perm_cat_id") }, inverseJoinColumns = { @JoinColumn(name = "permission_id") }) private Map<String,String> permissions = new ArrayList<String,String>(0);
、PERMISSION_NAME:
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinTable(name = "perm_cat_map", joinColumns = { @JoinColumn(name = "perm_cat_id") }, inverseJoinColumns = { @JoinColumn(name = "permission_id") }) private List<Permission> permissions = new ArrayList<Permission>(0);
それはのようなものを持つことが可能です。
ありがとうございました。
それはオーバーヘッドを行いますだって私はループ解決のために行うことができない、というのです私はそれを行う最適化された方法を探しているので、最初のソリューションについて話して、文字列が何を表しているか教えてください。 –
マップのキーを表します。 Permissionエンティティの任意のStringプロパティであっても、指定されたカテゴリに対して一意である必要があります。私があなたに与えたリンクに従ってください。ループがパフォーマンスの問題になるのではないかと思う。すべてがメモリに格納されていますが、データベースにアクセスするたびにプロセス間またはネットワーク操作さえあります。ここではマイクロ秒とミリ秒を話しています。 –