Finanally我做了,得到了满意的结果是这样:
Customer Title TitleLocalization
-------- ------ -----------------
id |---1 id 1---| id
titleId N---| |---N titleId
firstName locale
lastName title (localized)
Customer类:
@Entity
public class Customer implements Serializable {
@ManyToOne(fetch = FetchType.EAGER)
private Title title;
}
Title类:
@Entity
public class Title implements Serializable {
@OneToMany(mappedBy = "title", fetch = FetchType.EAGER)
@MapKey(name = "locale")
private Map<Locale, TitleLocalization> localized;
}
而且TitleLocalization类:
@Entity
public class TitleLocalization implements Serializable {
private static final long serialVersionUID = 1L;
@ManyToOne
private Title title;
private Locale locale;
private String traslation;
所以我可以“轻松”地从视图中获取已翻译的客户标题:例如,
#{login.currCustomer.title.localized.get(localeManager.currLocale).title}
什么是您的确切问题? – 2013-04-30 13:03:26