【发布时间】:2019-05-18 15:47:30
【问题描述】:
我有 2 个类 - 2 个实体 - Book 和 BookRentals。 BookRentals 将 Book 对象放入其中。
我想忽略 BookRentals 中 Book 的属性之一。这是available 属性。
我有一种方法可以负责查找所有租金。 JSON 格式的输出如下所示:
[
{
"id": 1,
"book": {
"id": 1,
"title": "Krzyżacy",
"author": "Henryk Sienkiewicz",
"category": "powieść historyczna",
"available": false
},
"user": {
"id": 2,
"name": "piotri",
"password": "123"
}
}
]
如您所见,这里不需要可用,但我不能在 Book 类中创建 @JsonIgnore,因为在查找所有书籍时需要此变量:
[
{
"id": 1,
"title": "Krzyżacy",
"author": "Henryk Sienkiewicz",
"category": "powieść historyczna",
"available": false
}
]
书籍类:
package bookrental.model.book;
import lombok.*;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
@Entity
@Getter
@Setter
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@NotNull
private String title;
@NotNull
private String author;
@NotNull
private String category;
private boolean available;
public Book(String title, String author, String category, boolean available) {
this.title = title;
this.author = author;
this.category = category;
this.available = available;
}
}
图书租赁类
package bookrental.model.book;
import bookrental.model.account.User;
import lombok.*;
import javax.persistence.*;
@Entity
@Getter
@Setter
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
public class BookRentals {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@OneToOne
private Book book;
@OneToOne
private User user;
public BookRentals(Book book, User user) {
this.book = book;
this.user = user;
}
}
我该怎么做?
【问题讨论】:
-
添加这个“@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)”看看
-
@venkat 我应该在哪里添加这个?在书课上?
-
@Alien 我正在研究两个不同的实体。链接没有帮助。
标签: java json spring spring-mvc spring-boot