Playframework PersistenceException:[models.Task]出现错误。它没有得到增强,但它';s超类

Playframework PersistenceException:[models.Task]出现错误。它没有得到增强,但它';s超类,playframework,ebean,Playframework,Ebean,我正在使用两个数据库,因此在表中保存数据对象时,出现以下错误: PersistenceException:[models.Task]出现错误。它没有得到增强,但它的超类[class play.db.ebean.Model]得到了增强?(不允许在单个继承层次结构中混合增强)标记[play.db.ebean.Model]类名[models.Task] 我使用的是两个Java类,一个是Task.class,另一个是Userdetails.class: Task.class: @Entity @Tabl

我正在使用两个数据库,因此在表中保存数据对象时,出现以下错误:

PersistenceException:[models.Task]出现错误。它没有得到增强,但它的超类[class play.db.ebean.Model]得到了增强?(不允许在单个继承层次结构中混合增强)标记[play.db.ebean.Model]类名[models.Task]

我使用的是两个Java类,一个是Task.class,另一个是Userdetails.class:

Task.class:

@Entity
@Table(name="third")
public class Task extends Model {

    @Id
    @Column(name="id")
    private int id;

    @Column(name="name")
    private String username;

    public static Finder finduser=new Finder<String,Task>(String.class,Task.class);

}
我尝试了stackoverflow的一些解决方案,但仍然不起作用。有些人喜欢:

1. @MappedSuperclass
2. ebean.dafault=model.*.*
有吗

你没有提到你正在使用的播放版本吗? 在播放2.2.3时,以下配置适用于我:

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8"
db.default.user=xxx
db.default.password="xxx"
ebean.default="models.UserDetail"

db.secondary.driver=com.mysql.jdbc.Driver
db.secondary.url="jdbc:mysql://localhost:3306/secondary?characterEncoding=UTF-8"
db.secondary.user=xxx
db.secondary.password="xxx"
ebean.secondary="models.Task"
以下控制器代码将实体(按原样)正确保存到两个数据库:

public static Result index() {
    UserDetail userDetail = new UserDetail();
    userDetail.save();

    Task task = new Task();
    task.save("secondary");
}
请注意,我将服务器名称传递给
models.Task
save()
方法。这会告诉Ebean在保存时要使用哪个数据源


为什么您的实体字段是私有的而不是公共的?你是为了简洁而省略了getter/setter还是有其他原因?我之所以这么问是因为

你能提供你的
模型吗?任务
实体代码和其他任何能提供更多上下文的东西吗?你好,多诺万·穆勒,我已经提供了详细信息,请检查,让我知道谢谢你,伙计,它正在为我工作。非常感谢……:)
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8"
db.default.user=xxx
db.default.password="xxx"
ebean.default="models.UserDetail"

db.secondary.driver=com.mysql.jdbc.Driver
db.secondary.url="jdbc:mysql://localhost:3306/secondary?characterEncoding=UTF-8"
db.secondary.user=xxx
db.secondary.password="xxx"
ebean.secondary="models.Task"
public static Result index() {
    UserDetail userDetail = new UserDetail();
    userDetail.save();

    Task task = new Task();
    task.save("secondary");
}