我在Play框架中创建了REST服务,并且我有一个从请求中读取JSON的路由。 JSON的格式如下:将不同的JSON密钥设置为字段的值Play框架
{
"email":"[email protected]",
"password":"pw",
"address":{
"city":"cityName",
"country":"countryName"}
}
然后我用user = Json.fromJson(json, User.class);
以JSON解析为用户类。在我的数据库,我必须以一对一的关系看起来像表:
用户:
EMAIL VARCHAR,
NAME STRING
地址:
EMAIL VARCHAR,
CITY VARCHAR,
ADDRESS VARCHAR
其中EMAIL是外键。由于我收到的JSON只有5个值,当播放框架将新记录保存到数据库时,在Address中它只保存CITY和ADDRESS,并且EMAIL字段保存为空。之后我无法检索相关用户记录的Address项的值,因为连接它们的外键保存为空。 (这些是sql查询:)
是否有一些注释或其他方式如何使用JSON的电子邮件值作为地址表中的电子邮件值?
这里是我写我的模型类:
@Entity
@Table(name = "User")
public class User extends Model{
@Id
@Column(length = 80)
private String email;
@Column(length = 100)
private String password;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "user")
private Address address;
}
@Entity
@Table(name = Address
public class Address extends Model{
@OneToOne()
@JoinColumn(name = "email")
private User user;
@Column(length = 100)
private String city;
@Column(length = 100)
private String country;
}
任何人都可以帮忙吗? – xpg94