谁创建/谁修改

应用程序中的常见场景是使用创建该实体的用户和上次修改该实体的用户 ID 标记实体。

Ebean 通过您可以实现的 io.ebean.config.CurrentUserProvider 接口提供了一种便捷的方式来执行此操作。

该接口仅指定一个方法 Object currentUser();,它将返回您的典型实体标识符:Long、String 或 UUID

请注意,Ebean 通过创建新实例来实例化 CurrentUserProvider

示例实现

此实现不起作用,只是为了提供一个想法

/**
 * Returns the current user typically from a Thread local or similar context.
 */
public class MyCurrentUserProvider implements CurrentUserProvider {

  @Override
  public Object currentUser() {
    // Here you get the user id, from some kind of static
    // context access (session information, thread local, etc..)
    return someContext.getId();
  }
}

激活

为了告诉 ebean 哪个类在 application.properties 文件中实现了该接口,我们需要设置以下属性:ebean.currentUserProvider=org.app.MyCurrentUserProvider