有没有办法从 PlayFramework 的模型中获取会话信息?
Is there a way to get the session information from the Model in PlayFramework?
我使用 Java.
通过 PlayFramework 2.2 创建应用程序
保存模型时,我想将 create_user_id / update_user_id 保存为跟踪信息。
但是,无法从 PlayFramework 的模型中检索会话信息。
目前,我在保存实体时从控制器传递用户实体。
因为它是糟糕的实现,当您调用 Model.save() 方法从模型端的会话中获取登录用户时
我想点赞我们保存实现。
如果您知道最佳做法,请告诉我。
public abstract class AbstractTrailModel extends Model {
public static final int INSERT = 1;
public static final int UPDATE = 2;
public static final int DELETE = 3;
@ManyToOne(cascade = CascadeType.ALL)
@Constraints.Required
public User createUser;
@ManyToOne(cascade = CascadeType.ALL)
@Constraints.Required
public User createUser;
@Constraints.Required
public Integer is_delete;
public void save(User loginUser){
if(create_time != null){
setTrailInfo(UPDATE, loginUser);
super.save();
}else{
setTrailInfo(INSERT, loginUser);
super.save();
}
}
public void setTrailInfo(int code, User loginUser){
switch(code) {
case INSERT:
createUser = loginUser;
case UPDATE:
case DELETE:
updateUser = loginUser;
}
if(code == DELETE){
is_delete = 1;
}else{
is_delete = 0;
}
}
}
据我所知,只有从控制器获取会话才有可能。
如果您需要模型 类 上的用户,则需要在任何需要的地方传递会话或用户作为参数。
我使用 Java.
通过 PlayFramework 2.2 创建应用程序保存模型时,我想将 create_user_id / update_user_id 保存为跟踪信息。 但是,无法从 PlayFramework 的模型中检索会话信息。
目前,我在保存实体时从控制器传递用户实体。 因为它是糟糕的实现,当您调用 Model.save() 方法从模型端的会话中获取登录用户时 我想点赞我们保存实现。
如果您知道最佳做法,请告诉我。
public abstract class AbstractTrailModel extends Model {
public static final int INSERT = 1;
public static final int UPDATE = 2;
public static final int DELETE = 3;
@ManyToOne(cascade = CascadeType.ALL)
@Constraints.Required
public User createUser;
@ManyToOne(cascade = CascadeType.ALL)
@Constraints.Required
public User createUser;
@Constraints.Required
public Integer is_delete;
public void save(User loginUser){
if(create_time != null){
setTrailInfo(UPDATE, loginUser);
super.save();
}else{
setTrailInfo(INSERT, loginUser);
super.save();
}
}
public void setTrailInfo(int code, User loginUser){
switch(code) {
case INSERT:
createUser = loginUser;
case UPDATE:
case DELETE:
updateUser = loginUser;
}
if(code == DELETE){
is_delete = 1;
}else{
is_delete = 0;
}
}
}
据我所知,只有从控制器获取会话才有可能。 如果您需要模型 类 上的用户,则需要在任何需要的地方传递会话或用户作为参数。