我在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