在模型 class 中设置关系不会在 playFramework 中创建数据库 table 条目
Setting relationship in Model class does not create db table entries in playFramework
我在playframework中创建了3个模型classes,并在其中一个class中设置了一对一关系和一对多关系。代码片段如下:
Person.java
///////////////////////
@Entity
@Table(name = "person")
public class Person extends Model{
@Id
private Long id;
private String lastName;
private String firstName;
private String userId;
private Address address;
private List<Task> tasks;
....
}
Task.java
//////////////////////////
@Entity
@Table(name = "task")
public class Task extends Model{
@Id
private Long id;
private String name;
private String descript;
private String details;
...........
}
Address.java
////////////////////
@Entity
@Table(name = "address")
public class Address extends Model{
@Id
private Long id;
private String street;
private String state;
.........
}
我创建了人物对象并设置了 attributes/one-one/one-many 关系。
我尝试通过调用 person.save() 将具有属性和关系的人员对象保存到 mysql 数据库。但是,它最终只保存了属性 userId/firstName/LastName。地址对象和任务列表对象未保存在数据库中。
我的问题是:有什么方法可以使用 person.save() 将关系对象保存在 db long 中?也就是说,在调用person.save() 之后,地址table 和任务table 会创建与之对应的新的整体。
我最终亲自设置外键 class 来手动处理这种关系。
提前致谢!
您可能想查看有关 @OneToMany
和 @OneToOne
注释的特定主题的 JPA 教程。我推荐 https://en.wikibooks.org/wiki/Java_Persistence/OneToMany and https://en.wikibooks.org/wiki/Java_Persistence/OneToOne。
我在playframework中创建了3个模型classes,并在其中一个class中设置了一对一关系和一对多关系。代码片段如下:
Person.java
///////////////////////
@Entity
@Table(name = "person")
public class Person extends Model{
@Id
private Long id;
private String lastName;
private String firstName;
private String userId;
private Address address;
private List<Task> tasks;
....
}
Task.java
//////////////////////////
@Entity
@Table(name = "task")
public class Task extends Model{
@Id
private Long id;
private String name;
private String descript;
private String details;
...........
}
Address.java
////////////////////
@Entity
@Table(name = "address")
public class Address extends Model{
@Id
private Long id;
private String street;
private String state;
.........
}
我创建了人物对象并设置了 attributes/one-one/one-many 关系。 我尝试通过调用 person.save() 将具有属性和关系的人员对象保存到 mysql 数据库。但是,它最终只保存了属性 userId/firstName/LastName。地址对象和任务列表对象未保存在数据库中。 我的问题是:有什么方法可以使用 person.save() 将关系对象保存在 db long 中?也就是说,在调用person.save() 之后,地址table 和任务table 会创建与之对应的新的整体。 我最终亲自设置外键 class 来手动处理这种关系。
提前致谢!
您可能想查看有关 @OneToMany
和 @OneToOne
注释的特定主题的 JPA 教程。我推荐 https://en.wikibooks.org/wiki/Java_Persistence/OneToMany and https://en.wikibooks.org/wiki/Java_Persistence/OneToOne。