YAML模拟数据引用不起作用的实体

时间:2012-02-25 03:17:30

标签: playframework yaml

我的Play Framework项目中有以下mockdata.yml文件:

Account(cash):
  name: Cash
  type: CASH
  balance: 1015

Category(food):
  name: Food
  type: DISCRETIONARY_EXPENSE
  monthlyBudget: 200

Transaction(txn0001):
  account: cash
  category: food
  date: 2012-02-24
  amount: 12

我在应用程序启动时加载了这个模拟数据,我可以在数据库中看到所有可用的记录。但是,Transaction记录的nullaccount列中包含category

我的格式似乎与here显示的示例匹配,但从TransactionAccountCategory的实体引用无效。

可能出现什么问题?

供参考,以下是我的模型对象:

@Entity
public class Account extends Model
{
    public String name;
    public AccountType type;
    public long balance;
}

@Entity
public class Category extends Model
{
    public String name;
    public CategoryType type;
    public long monthlyBudget;
}

@Entity
public class Transaction extends Model
{
    public Account account;
    public Category category;
    public Date date;
    public long amount;
}

AccountTypeCategoryType是枚举。)

1 个答案:

答案 0 :(得分:1)

哎呀!我一发布模型课就看到了问题所在。 (当它发生时爱它!)

以下是遇到同样问题的其他任何人的解决方案:Account类的CategoryTransaction字段需要@ManyToOne注释。我一添加它们就开始按预期工作了。

@Entity
public class Transaction extends Model
{
    @ManyToOne public Account account;
    @ManyToOne public Category category;
    public Date date;
    public long amount;
}