1

我想为应用程序设置创建一个可由应用程序管理员更改的模型。

模型应该使用 ebean 映射存储在数据库中:

package models;

import javax.persistence.Entity;

import play.db.ebean.Model;

@Entity
public class ApplicationSettings extends Model {
    public String applicationTitle;
    public String companyName;
}

但是,由于只有一个 ApplicationSettings 实例,我想将设置存储在带有 2 列表的数据库中。创建的表应如下所示:

create table application_settings (
  setting_name          varchar(255),
  setting_value         varchar(255)
);

然后, *setting_name* 列的对象值应命名为ApplicationSettings中的字段名称,并且字段值应取自 *setting_value* 列。

有没有一种简单的方法可以通过 play 框架实现这一点?

4

1 回答 1

0

我不认为有一个内置机制支持开箱即用。

完成您所要求的最简单的方法似乎是执行以下操作:

Map<String, ApplicationSettings> map = Ebean.createQuery(ApplicationSettings.class).findMap("settingKey", String.class)
String value = map.get("myKey").settingValue

为此,您的数据模型应如下所示

@Entity
public class ApplicationSettings extends Model {
    public String settingKey;
    public String settingValue;
}
于 2012-09-14T14:49:53.933 回答