【问题标题】:JavaEntity Bean defined but being passed as a class objectJavaEntity Bean 已定义但作为类对象传递
【发布时间】:2015-06-22 19:09:59
【问题描述】:
public Result addHouse() {
    House house = Form.form(House.class).bindFromRequest().get();
    house.save();
    return redirect(routes.Application.index());
}

// 上面的代码调用 EntityBean 上的 .save() 方法将其保存到数据库中——而不是抛出错误非法参数

import play.db.ebean.Model;

import javax.persistence.Entity;
import javax.persistence.Id;
/**
 * Created by ctcmacadmin on 6/21/15.
 */
@Entity
public class House extends Model{

    @Id
    public String id;

    public String owner;
    public String address;
    public String postalCode;
}

//以上代码将House对象定义为JPA实体

[IllegalArgumentException: Was expecting an EntityBean but got a class model.House]

//以上是调用addHouse()方法产生的错误

【问题讨论】:

    标签: java jpa playframework playframework-2.0 javabeans


    【解决方案1】:

    您是否包含@Table 注释? 我遇到了同样的问题;它已通过 @Table 注释解决。

    例如:-

    @Table(name = "[your table name]")
    

    【讨论】:

      【解决方案2】:

      我不知道播放框架,但我认为错误信息很清楚: 它需要一个你已经给出类的实例。

      由于代码中类的唯一位置是Form.form(House.class): 我猜它需要像Form.form(House.findById(...)) 这样的东西。

      【讨论】:

      • 抛出错误的行是 house.save();
      • 如果您发布异常的堆栈跟踪信息会有所帮助。
      • [error] - play.core.server.netty.PlayDefaultUpstreamHandler - 无法调用操作 [info] java.lang.IllegalArgumentException: 期待一个 EntityBean 但得到一个类模型。House [info] at com.avaje.ebeaninternal.server.core.DefaultServer.checkEntityBean(DefaultServer.java:1576) ~[avaje-ebeanorm-4.6.2.jar:na] [info] at com.avaje.ebeaninternal.server.core.DefaultServer。保存(DefaultServer.java:1461)~[avaje-ebeanorm-4.6.2.jar:na] [info] at com.avaje.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1454)~[avaje- ebeanorm-4.6.2.jar:na]
      • 您可以编辑原始问题以包含这些信息 - 从您的 addHouse 方法开始,添加更多的堆栈跟踪行。
      【解决方案3】:

      您正在使用带有播放框架的 Ebean,而您在这里缺少 bean finder。看看下面的链接。

      sample bean model

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-07-10
        • 1970-01-01
        • 2012-11-27
        • 1970-01-01
        • 2015-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多