Playframework 2.0 尝试在Globals.InitialData之后添加模型时出现PersistenceException
我正在使用PlayFramework2.0Java,但是在Globals中实现了一个简单的InitialData之后,我遇到了一些问题。 我正在使用 我有两种型号: 用户电子邮件作为ID SomeModelLong id作为id SomeModel的字段如下:Playframework 2.0 尝试在Globals.InitialData之后添加模型时出现PersistenceException,playframework-2.0,h2,ebean,Playframework 2.0,H2,Ebean,我正在使用PlayFramework2.0Java,但是在Globals中实现了一个简单的InitialData之后,我遇到了一些问题。 我正在使用 我有两种型号: 用户电子邮件作为ID SomeModelLong id作为id SomeModel的字段如下: @ManyToOne public User user; 因此,在中,有一个用户连接了许多SomeModels 在我的InitialData中,我添加了一个用户来测试一些东西:test@test.com. 所以,如果我尝试向这个测试
@ManyToOne
public User user;
因此,在中,有一个用户连接了许多SomeModels
在我的InitialData中,我添加了一个用户来测试一些东西:test@test.com.
所以,如果我尝试向这个测试用户添加一个SomeModel,我没有问题,即使我尝试添加多个SomeModel
当我在InitialData中添加SomeModellet调用TestModel时,我认为没有问题,因为一切都在这个TestModel中运行。但是刚才,我看到如果我尝试向测试用户添加一个新的SomeModel,我会遇到以下问题:
[PersistenceException: ERROR executing DML bindLog[] error[Unique index or primary key violation: "PRIMARY_KEY_D ON PUBLIC.SOME_MODEL(ID)"; SQL statement:\n insert into some_model (id, name, description, user_email) values (?,?,?,?) [23505-158]]]
这是我的初始数据文件:
# Users
users:
- !!models.User
email: test@test.com
name: Test test
password: test
# SomeModels
somemodels:
- !!models.FuzzySystem
id: 1
name: test
description: test
user: !!models.User
email: test@test.com
我迷失在这个=中,所以,我刚刚发现initialData不应该有SomeModel的ID 删除ID字段后,一切正常 我的initialData文件是这样的:
# Users
users:
- !!models.User
email: test@test.com
name: Test test
password: test
# SomeModels
somemodels:
- !!models.FuzzySystem
name: test
description: test
user: !!models.User
email: test@test.com
所以,我刚刚发现initialData不应该有SomeModel的ID 删除ID字段后,一切正常 我的initialData文件是这样的:
# Users
users:
- !!models.User
email: test@test.com
name: Test test
password: test
# SomeModels
somemodels:
- !!models.FuzzySystem
name: test
description: test
user: !!models.User
email: test@test.com