首页 > 解决方案 > 基于语言环境显示数据的最佳方式 - spring mvc 中的相同表字段

问题描述

我正在为我的公司开发一个 Web 应用程序,并且需要以英语和法语存储数据。此应用程序仅支持这两种语言,未来没有扩展空间。

因此,正因为如此,我设计了我的数据库表以下列方式支持这一点,在同一个表中具有语言列

CREATE TABLE BANNER
(
  message_id                   NUMBER(15)  NOT NULL,
  message_en         VARCHAR2(1000 BYTE),
  message_fr          VARCHAR2(1000 BYTE),
  active               VARCHAR2(1 BYTE),
  created_date          TIMESTAMP(6),
  updated_date          TIMESTAMP(6),
  created_by            NUMBER(15),
  updated_by            NUMBER(15)
);

下面是我的实体类,其中我有一个瞬态变量来根据语言环境在获取后映射数据。现在我不确定填充该字段并在视图中使用它的最佳方法是什么。我可以在此使用 JPA @postload 选项并根据语言环境进行映射吗?请帮忙。我正在使用带有休眠功能的 Spring MVC。

public class Banner {

    @Id
    @Column(name="message_id") 
    private Long messageId;

    @Column(name="message_en") 
    private String messageEn;

    @Column(name="message_fr") 
    private String messagefr;

    @Column(name="active") 
    private String active;

    @Transient
    private String message;


    /*
     * @PostLoad public String getMessage() { boolean isFr =
     * LocaleUtil.isLocaleFr(); if(isFr) return (null ==
     * getMessageFr()?"":getMessageFr());
     * 
     * return ((null == getMessage())?"":getMessage()); }
     */
  //other getters and setters
}







e here`(
  message_id                   NUMBER(15)  NOT NULL,
  message_en         VARCHAR2(1000 BYTE),
  message_fr           VARCHAR2(1000 BYTE),
  active               VARCHAR2(1 BYTE),
  created_date          TIMESTAMP(6),
  updated_date          TIMESTAMP(6),
  created_by            NUMBER(15),
  updated_by            NUMBER(15)
);


标签: javahibernatespring-mvclocalization

解决方案


推荐阅读