Java 当数据库中有多个对象时,Spring引导rest响应在OneToMany上给出1个结果

Java 当数据库中有多个对象时,Spring引导rest响应在OneToMany上给出1个结果,java,mysql,spring,hibernate,spring-boot,Java,Mysql,Spring,Hibernate,Spring Boot,对于一个学校项目,我们必须制作一个SpringBootREST服务器,用于与我们的MySQL数据库通信。以下是数据库的屏幕截图: 对于我的用户模型,我有以下内容: @Entity @Table(name = "User") @Setter public class User extends ResourceSupport implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTIT

对于一个学校项目,我们必须制作一个SpringBootREST服务器,用于与我们的MySQL数据库通信。以下是数据库的屏幕截图:

对于我的用户模型,我有以下内容:

@Entity
@Table(name = "User")
@Setter
public class User extends ResourceSupport implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id_user", updatable = false, nullable = false)
    @JsonSerialize
    private Long id;
    @Getter
    private String firstName;
    @Getter
    private String lastName;
    @Getter
    private String email;
    @Getter
    private String password;
    @Getter
    private Double hourlyWage;
    @Getter
    private String adress;
    @Getter
    private String city;
    @Getter
    private Boolean isManager;
    @Getter
    @OneToMany
    @JoinTable(name = "user_to_project", joinColumns = @JoinColumn(name = "id"), inverseJoinColumns = @JoinColumn(name = "project_id"))
    private List<Project> projects;

@实体
@表(name=“User”)
@塞特
公共类用户扩展资源支持实现可序列化{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(name=“id\u user”,updateable=false,nullable=false)
@JsonSerialize
私人长id;
@吸气剂
私有字符串名;
@吸气剂
私有字符串lastName;
@吸气剂
私人字符串电子邮件;
@吸气剂
私有字符串密码;
@吸气剂
私人双小时公寓;
@吸气剂
私有字符串地址;
@吸气剂
私人城市;
@吸气剂
专用布尔isManager;
@吸气剂
@独身癖
@JoinTable(name=“user\u to\u project”,joinColumns=@JoinColumn(name=“id”),inverseJoinColumns=@JoinColumn(name=“project\u id”))
私人清单项目;
那么对于我的项目课:

@Entity
@Table(name = "project")
@Setter
public class Project extends ResourceSupport {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id_project")
    @JsonSerialize
    private Long id;
    @Getter
    @OneToOne
    @JoinColumn(name = "owner", referencedColumnName = "id")
    private Company owner;
    @Getter
    private String description;
    @Getter
    private String name;
    @Getter
    private double payout;
    @Getter
    private boolean internal;
    @Getter
    @OneToMany
    @JoinTable(name = "user_to_project", joinColumns = @JoinColumn(name = "id"), inverseJoinColumns = @JoinColumn(name = "user_id"))
    private List<User> users;
@实体
@表(name=“项目”)
@塞特
公共类项目扩展了资源支持{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(name=“id\u项目”)
@JsonSerialize
私人长id;
@吸气剂
@奥内托内
@JoinColumn(name=“owner”,referencedColumnName=“id”)
私人公司所有者;
@吸气剂
私有字符串描述;
@吸气剂
私有字符串名称;
@吸气剂
私人双重支付;
@吸气剂
私有布尔内部;
@吸气剂
@独身癖
@JoinTable(name=“user\u to\u project”,joinColumns=@JoinColumn(name=“id”),inverseJoinColumns=@JoinColumn(name=“user\u id”))
私人名单用户;
我不知道我做错了什么,因为这是我得到的结果:

虽然我的链接表中有以下内容:


我希望有人能回答我的问题,因为我已经厌倦了spring boot和这个学校项目。

我不知道它对你是否有帮助,但下面是我的代码:

// Role
@LazyCollection(LazyCollectionOption.FALSE)
@ManyToMany(mappedBy = "roles")
@JsonIgnoreProperties("roles")
@OrderBy("id")
private List<User> users;

// User
@LazyCollection(LazyCollectionOption.FALSE)
@ManyToMany
@JoinTable(name = "users_roles",
        joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
        inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id")
)
@JsonIgnoreProperties("users")
@OrderBy("id")
private List<Role> roles;

我希望这会有帮助。祝你好运。

你的项目和用户关系不是一个领域,而是很多领域。更正你的实体。@BorLaze感谢你的快速响应!但遗憾的是,这仍然无法解决问题…尽管你是对的,所以谢谢你!我非常感谢你的帮助,但遗憾的是,你提供的代码仍然没有帮助。W你能发布你的表格的截图吗?这样我就知道我已经设置了我的列名right@Jorisvan Roy,我在我的post-check中添加了DDL。谢谢你这么多的帮助!我终于得到了它,在我设置hibernate打印sql行之后,我发现我输入了错误的列名称…再次非常感谢你,t他对我来说是个大麻烦哈哈
create table roles
(
  id               serial                not null
    constraint roles_pkey
    primary key,
  version          bigint default 0
);

create table users
(
  id               serial                not null
    constraint users_pkey
    primary key,
  version          bigint  default 0
);

create table users_roles
(
  user_id integer not null
    constraint fk_users
    references users,
  role_id integer not null
    constraint fk_roles
    references roles,
  constraint users_roles_pkey
  primary key (user_id, role_id)
);