JavaEntity Bean已定义但作为类对象传递

时间:2015-06-22 19:09:59

标签: java jpa playframework playframework-2.0 javabeans

public Result addHouse() {
    House house = Form.form(House.class).bindFromRequest().get();
    house.save();
    return redirect(routes.Application.index());
}

//上面的代码调用EntityBean上的.save()方法将其保存到数据库 - 而不是抛出error illegalArgument

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()方法

产生的错误

3 个答案:

答案 0 :(得分:1)

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

例如: -

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

答案 1 :(得分:0)

我不知道播放框架,但我认为错误信息很明确: 它期望你给一个类的实例。

由于代码中类的唯一位置是Form.form(House.class): 我猜它会期望类似Form.form(House.findById(...))

答案 2 :(得分:0)

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

sample bean model