java spring web应用中实体本地化的最佳实践
Posted
技术标签:
【中文标题】java spring web应用中实体本地化的最佳实践【英文标题】:Best practice for entities localization in java spring web applications 【发布时间】:2011-05-26 13:08:54 【问题描述】:我正在寻找在我的网站上本地化动态(用户生成)内容的最佳方式。我正在使用 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 中的东西我可以使用?
感谢您的帮助
【问题讨论】:
考虑一个地图我会让整篇文章本地化:
文章容器:
@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;
在您的查询中,您将按语言环境查找本地化版本。
【讨论】:
以上是关于java spring web应用中实体本地化的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章
java web spring jpa 在以接口为dao的方法里使用原生sql,联合查找没有对应实体,用啥来接收? 求大神
Spring saml,第二个本地 SP - 实体别名和上下文提供者
在 Java 或 Grails 应用程序中动态创建实体、Spring 存储库和 facelets 页面