私は、エンティティユーザ任意の「列」は
public class User {
private String username;
private String password;
private Map<String, Object> settings = new HashMap<String, Object>();
//Getters & setters
}
私は、クエリの設定マップのキーを使用することができますどのような方法がありますがあると? 例:
Criterion crit = mySession.createCriterion(User.class);
crit.add(Restrictions.eq("settings.blah", 1234L));
List<User> results = crit.list();
やELを経由してマップ値にアクセスしますか? 例:
<h:dataTable value="#{myBean.users}" var="user">
<h:column>
<h:outputText value="#{user.blah}"/>
</h:column>
</h:dataTable>
私は部分的にシンプル@OneToManyマッピングでこれを行うことができますが、それは、キーと値の両方を使用するように私のクエリを必要とし、プロパティはELを通じてアクセスすることはできません。
これは可能でしょうか?注釈を付けるにはどうすればいいですか?
おかげ
EDIT: は、私は、任意のフィールドを持つことができるように、基本的に、私が後だが「垂直テーブルの実装であり、まだマッピングされたクラスとしてエンティティを使用することができます。これが冬眠でも可能かどうかはわかりません。