所以我有一个用户和一个客户端。用户可以拥有多个客户端。但是json无法返回值用户。
所以我做了这样的事情:
@Column
private Integer fkIdUser ;
但是我刚接触休眠,我想知道这是否是正确的做法。或者我是否需要使用具有多对一注释的类,但我将如何使用json?
用户类
public class User {
public static User globalUser;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_user")
private Integer id;
@Column(unique = true)
private String email;
然后是客户端类
@Entity
@Table(name ="tbl_clients")
@Access(value = AccessType.FIELD)
public class Client {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_client")
private Integer id;
/* This works
@Column
private Integer fkIdUser ;
*/
// This does not
@ManyToOne
@JoinColumn(name = "fk_id_user")
private User user;
我在ClientController中使用此函数将客户端存储到数据库
@RequestMapping(value = "/addclient",method = RequestMethod.POST)
public void addClient(@RequestBody Client client) {
clientDao.save(client);
}
答案 0 :(得分:0)
您必须在@JoinColumn
名称中使用相同的列名称。由于您使用fkIdUser
作为变量并且它有效,我想这是您的列名。那么你的映射应该是这样的:
@ManyToOne
@JoinColumn(name = "fkIdUser")
private User user;