【发布时间】:2021-09-25 15:57:12
【问题描述】:
我试图创建一个关系数据库。我想将 User 表中的 id、email、password 和 phone 列添加到 Employer 和 Employee 表中。我创建了如下代码所示的结构。
package hasancanozbek.hrms.Entities.concretes;
import hasancanozbek.hrms.Entities.abstracts.User;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "employers")
public class Employer {
@Id
@Column(name = "user_id")
private int userId;
@Column(name = "company_name")
private String companyName;
@Column(name = "company_website")
private String companyWebsite;
@Column(name = "verified")
private boolean verified;
@OneToOne
@MapsId
@JoinColumn(name = "user_id")
private User user;
}
package hasancanozbek.hrms.Entities.abstracts;
import com.fasterxml.jackson.annotation.JsonIgnore;
import hasancanozbek.hrms.Entities.concretes.Employer;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@Column(name = "email")
private String email;
@Column(name = "password")
private String password;
@Column(name = "telephone")
private String telephone;
@OneToOne(mappedBy = "user")
@PrimaryKeyJoinColumn
@JsonIgnore
private Employer employer;
}
但是在swagger ui中添加雇主时,每个属性显示2次。例如,employees 表有 company name 属性,这个属性在 swagger 中显示为 companyName 和 user.employer.companyName。我只想组合并显示相关表的属性以及用户表中的属性。我该如何解决? Swagger SS
【问题讨论】:
-
在屏幕上一切似乎都很好,这是什么问题?
user.employer.companyName称为占位符,输入值时会消失 -
问题是我必须输入公司名称2次。其实我只需要在employee表中输入公司名称字段即可。但是,现在我需要为雇主表中的字段和 user.employer 字段输入两次相同的值。
-
Swagger 只是 Web 请求的测试者,并不是一个完整的网站。所以我不明白你为什么需要它
-
我知道。无论如何,我的目标是在编写前端之前进行测试。但是,问题是我必须输入与上面提到的相同的值两次。通常公司有一个名称,但正如您在图片中看到的那样,我的代码同时具有 user.employer.companyName 和employer.companyName。我添加了 @Jsonignore 注释,但它仍然出现。其实我对swagger没有问题,问题出在jpa方面。
-
您使用什么库来从代码生成 API 定义 - Swagger Core、Springfox 等等?
标签: java postgresql jpa swagger-ui