我的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
记录的null
和account
列中包含category
。
我的格式似乎与here显示的示例匹配,但从Transaction
到Account
和Category
的实体引用无效。
可能出现什么问题?
供参考,以下是我的模型对象:
@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;
}
(AccountType
和CategoryType
是枚举。)
答案 0 :(得分:1)
哎呀!我一发布模型课就看到了问题所在。 (当它发生时爱它!)
以下是遇到同样问题的其他任何人的解决方案:Account
类的Category
和Transaction
字段需要@ManyToOne
注释。我一添加它们就开始按预期工作了。
@Entity
public class Transaction extends Model
{
@ManyToOne public Account account;
@ManyToOne public Category category;
public Date date;
public long amount;
}