我正在寻找在我的网站上本地化动态(用户生成的)内容的最佳方式。我正在使用spring-mvc,我发现它非常好的框架,但现在我需要使用多种语言提供多个实体。 我发现对于静态文本i18n是我同意的最佳方式,但是如果我理解它就不能用于本地化存储在数据库中的东西。
因为我必须在数据库中存储本地化和原创内容,现在我需要知道最好的方法是什么 例如,我有实体:
@Entity
public class Article {
private Long id;
private String title;
private String body;
}
如果我希望它支持本地化,应该怎么看?
@Entity
public class Article {
private Long id;
@OneToMany
private Set<LocalizedTitle> localizedTitles;
private String body;
}
我不喜欢这个解决方案,但是我无法想出一个更好的方法,这就是为什么我要来这个地方...可能有一些内置在jpa / hibernate我可以使用?< / p>
感谢您的帮助
答案 0 :(得分:6)
我会将整篇文章定位为:
文章容器:
@Entity
public class Article{
@Id
private Long id;
@OneToMany(mappedBy="container")
private Set<LocalizedArticle> localizedArticles;
}
本地化版本:
@Entity
public class LocalizedArticle{
@ManyToOne
private Article container;
@Id
private Long id;
private String body;
private String title;
private String locale;
}
在您的查询中,您将按区域设置查找本地化版本。