Playframework 2.0 将模型的字段名和值映射到表行而不是列

Playframework 2.0 将模型的字段名和值映射到表行而不是列,playframework-2.0,Playframework 2.0,我想为应用程序管理员可以更改的应用程序设置创建一个模型 应使用ebean映射将模型存储在数据库中: package models; import javax.persistence.Entity; import play.db.ebean.Model; @Entity public class ApplicationSettings extends Model { public String applicationTitle; public String companyNa

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

应使用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框架实现这一点?

我认为没有一种内置机制可以支持开箱即用

完成你的要求的最简单方法似乎是:

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

谢谢你的回答,但建议的解决方案正是我想要避免的。我希望能够在scala模板中使用按名称设置的名称,例如@ApplicationSettings.applicationTitle和基于行的实体映射。我想我会坚持默认的基于列的映射,直到现在。
@Entity
public class ApplicationSettings extends Model {
    public String settingKey;
    public String settingValue;
}