我有一個表是否可以使用@OneToMany關係在Hibernate中映射Map <String,String>?
權限:
- permission_id
- PERMISSION_NAME
- permission_desc
和一張桌子PermissionCategory與一對多關係Permi ssion
是否有可能以一對多的關係返回地圖而不是列表。 這是我在做什麼,現在在PermissionCategory域:
@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);
是否有可能有類似:
@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_id,PERMISSION_NAME。
請指教,謝謝。
我不能這樣做for循環解決怎麼把它會使開銷,這就是爲什麼我正在尋找一種優化的方式來做到這一點,所以談論第一種解決方案,你能告訴我什麼是字符串表示? –
它代表了地圖的關鍵。它可以是Permission實體的任何String屬性,只要它對給定的類別是唯一的。按照我給你的鏈接。我懷疑循環會是一個性能問題。這些都在內存中,而每次訪問數據庫時都有內部進程或甚至網絡操作。我們在這裏談到微秒與毫秒。 –