Java IllegalStateException:正在运行的参数类型重复+;安全社会

Java IllegalStateException:正在运行的参数类型重复+;安全社会,java,playframework,ebean,securesocial,Java,Playframework,Ebean,Securesocial,我正在使用最新快照版本(db46f2c3db784f3596ddd407075c222952d08129)中的安全社交 目前,我正在尝试使用Play的Ebean在关系数据库中实现用户存储。我发现这已经不适用了。因此,我正在滚动我自己的实现。令牌存储非常简单,但是我在存储用户配置文件时遇到了问题 这是我的实体: @Entity public class DbUser extends Model { @EmbeddedId public DbUserId id; @ManyToOne

我正在使用最新快照版本(db46f2c3db784f3596ddd407075c222952d08129)中的安全社交

目前,我正在尝试使用Play的Ebean在关系数据库中实现用户存储。我发现这已经不适用了。因此,我正在滚动我自己的实现。令牌存储非常简单,但是我在存储用户配置文件时遇到了问题

这是我的实体:

@Entity
public class DbUser extends Model {

  @EmbeddedId
  public DbUserId id;

  @ManyToOne
  public DbUser mainProfile;

  @OneToMany(mappedBy = "mainProfile")
  public Set<DbUser> profiles;

  public String firstName;
  public String lastName;
  public String fullName;
  public String email;
  public String avatarUrl;

  @Constraints.Required
  public AuthenticationMethod authMethod;

  public OAuth1Info oAuth1Info;
  public OAuth2Info oAuth2Info;

  public PasswordInfo passwordInfo;

  ...
}
免责声明:我理解这可能不是理想的方式,至少可以说,在这个和SecureSocial的选项字段之间进行转换是痛苦的

我已经调整了
InMemoryUserService
来处理这些实体,甚至猜测了
doLink()
方法应该如何工作。但是,我在运行这个时遇到了问题。在应用新的进化之前,我得到以下错误:

[info] play - database [default] connected at jdbc:h2:mem:play
[error] c.a.e.s.d.p.DeployCreateProperties - Error with models.DbUser field:oAuth1Info
java.lang.IllegalStateException: Duplicate parameter types in public securesocial.core.OAuth1Info(java.lang.String,java.lang.String)
    at com.avaje.ebeaninternal.server.type.reflect.ImmutableMetaFactory.scoreConstructors(ImmutableMetaFactory.java:106) ~[avaje-ebeanorm-3.3.4.jar:na]
    at com.avaje.ebeaninternal.server.type.reflect.ImmutableMetaFactory.createImmutableMeta(ImmutableMetaFactory.java:21) ~[avaje-ebeanorm-3.3.4.jar:na]
    at com.avaje.ebeaninternal.server.type.DefaultTypeManager.recursiveCreateScalarDataReader(DefaultTypeManager.java:185) ~[avaje-ebeanorm-3.3.4.jar:na]
    at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProp(DeployCreateProperties.java:317) [avaje-ebeanorm-3.3.4.jar:na]
    at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProp(DeployCreateProperties.java:345) [avaje-ebeanorm-3.3.4.jar:na]
我的假设是OAuthInfo和密码信息根本不是@Entities,我必须创建自己的实体并在它们之间映射。然而,我仍然想理解这个错误

[info] play - database [default] connected at jdbc:h2:mem:play
[error] c.a.e.s.d.p.DeployCreateProperties - Error with models.DbUser field:oAuth1Info
java.lang.IllegalStateException: Duplicate parameter types in public securesocial.core.OAuth1Info(java.lang.String,java.lang.String)
    at com.avaje.ebeaninternal.server.type.reflect.ImmutableMetaFactory.scoreConstructors(ImmutableMetaFactory.java:106) ~[avaje-ebeanorm-3.3.4.jar:na]
    at com.avaje.ebeaninternal.server.type.reflect.ImmutableMetaFactory.createImmutableMeta(ImmutableMetaFactory.java:21) ~[avaje-ebeanorm-3.3.4.jar:na]
    at com.avaje.ebeaninternal.server.type.DefaultTypeManager.recursiveCreateScalarDataReader(DefaultTypeManager.java:185) ~[avaje-ebeanorm-3.3.4.jar:na]
    at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProp(DeployCreateProperties.java:317) [avaje-ebeanorm-3.3.4.jar:na]
    at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProp(DeployCreateProperties.java:345) [avaje-ebeanorm-3.3.4.jar:na]