2017-06-17 30 views
0

后,我有一个名为RoomDetailDto DTO类,如下DTO引用类没有记录, '零' 创建

public class RoomDetailDto { 

String ID; 

@NotEmpty 
String cd; 

@NotEmpty 
String name; 

String dscp; 


RoomCategoryDto roomCategoryDto; 

//setter and getter 

roomCategoryDto有参考其他DTO称为RoomCategoryDto如下:

public class RoomCategoryDto { 

String ID; 

@NotEmpty 
@Length(min = 0, max = 5) 
String cd; 

@NotEmpty 
String name; 

@NotEmpty 
@NumberValue 
String cost; 

String dscp; 

//setter and getter 

这JSON我发送到服务器

{ “ CD “:” dfs23" , “名”: “df223”, “DSCP”: “sfdsfs”, “roomCategoryDto”:{ “CD”: “KLS2”, “名”: “Kelas 2”, “成本”: “200000”, “DSCP”:空, “ID”: “7f554d7a-3c5d-4c15-921d-fa4b4c629e6c” }}

后发送到服务器,成功该记录插入但我的roomCategoryDto'NULL'

{ “CD”: “dfs23”, “名”: “df223”, “DSCP”: “sfdsfs”, “roomCategoryDto”:空, “ID”:“ed22b38d-2bc3-4c80- b035-8936318c90c7“ }

任何人都可以建议吗? 请找我的控制器如下:

@RequestMapping(value = "/updateAction", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) 
@ResponseBody 
public RoomDetailDto update(@Validated @RequestBody RoomDetailDto data) throws ParseException, RecordNotFoundException, java.text.ParseException { 
    logger.info("add"); 
    RoomDetailEntity add = roomDetailService.updateRoomDetail(convertToEntity(data)); 
    return convertToDto(add); 

} 

和我的如下

@Entity(name = "RoomCategoryEntity") @Table(name = "t_room_category") public class RoomCategoryEntity implements Serializable { 

public static final long serialVersionUID = 1L; 

@Id 
@GeneratedValue(generator = "uuid") 
@GenericGenerator(name = "uuid", strategy = "uuid2") 
@Column(name = "ID", unique = true) 
private String ID; 

@Column(name = "cd") 
private String cd; 

@Column(name = "name") 
private String name; 

@Column(name = "cost") 
private String cost; 

@Column(name = "dscp") 
private String dscp; 

@Column(name = "createDate") 
private Date createDate; 

@Column(name = "updateDate") 
private Date updateDate; 

@Column(name = "isDel") 
private Date isDel; //setter and getter} 

实体======================= ===========================================

@Entity(name = "RoomDetailEntity") @Table(name = "t_room_details") public class RoomDetailEntity implements Serializable { 
public static final long serialVersionUID = 1L; 

@Id 
@GeneratedValue(generator = "uuid") 
@GenericGenerator(name = "uuid", strategy = "uuid2") 
@Column(name = "ID", unique = true) 
private String ID; 

@Column(name = "cd") 
private String cd; 

@Column(name = "name") 
private String name; 

@Column(name = "dscp") 
private String dscp; 

@ManyToOne(fetch = FetchType.EAGER) 
@JoinColumn(name = "room_category_id", referencedColumnName = "ID") 
private RoomCategoryEntity roomCategoryEntity; 

@Column(name = "createDate") 
private Date createDate; 

@Column(name = "updateDate") 
private Date updateDate; 

@Column(name = "isDel") 
private Date isDel; 

回答

0

我只是试图将参考表更改为实体,并成功插入

public class RoomDetailDto { 

String ID; 

@NotEmpty 
String cd; 

@NotEmpty 
String name; 

String dscp; 

// I change below line 
RoomCategoryEntity roomCategoryEntity; 

[ { “CD”: “df23”, “名称”: “df23”, “DSCP”: “sfdsfs”, “roomCategoryEntity”:{ “CD”: “KLS2” , “名”: “Kelas 2”, “成本”: “200000”, “DSCP”:空, “CREATEDATE”:1497535268000, “updateDate”:空, “isDel”:空, “ id“:”7f554d7a-3c5d-4c15-921d-fa4b4c629e6c“ }, ”id“:”02c28356-9783-46a7-8ac5-9e00497d9be2“ } ]