Playframework 2.0 将模型的字段名和值映射到表行而不是列
我想为应用程序管理员可以更改的应用程序设置创建一个模型 应使用ebean映射将模型存储在数据库中: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
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;
}