有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

hibernate和json的java问题

所以我有一个用户和一个客户端。用户可以有多个客户端。但是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);
}

共 (1) 个答案

  1. # 1 楼答案

    必须在@JoinColumn名称中使用相同的列名称。因为您使用fkIdUser作为变量,并且它可以工作,所以我想这是您的列名。那么您的映射应该如下所示:

    @ManyToOne
    @JoinColumn(name = "fkIdUser")
    private User user;