/
ilgizok
/
MyLibService
Обзор
Документация
Войти
/
ilgizok
/
MyLibService
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
Test
src/main/java/com/example/mylib/entity/Book.java
71 строка
2 KB
ilgiz
add
20 апр 2025, 01:03
20 апр 2025, 01:03
981190d
Код
Авторство
О чём код?
package com.example.mylib.entity; import com.fasterxml.jackson.annotation.*; import jakarta.persistence.*; import lombok.Data; import lombok.ToString; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Set; @Data @Entity @Table(name = "books") @ToString @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY) @JsonIgnoreProperties({"reviews", "ratings", "userLibraries"}) public class Book { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer bookId; @Column(name = "external_api_id", unique = true) private String externalApiId; private String isbn; private String title; private String description; @Column(name = "publication_date") private LocalDate publicationDate; private String publisher; @Column(name = "cover_image_url") private String coverImageUrl; @Column(name = "page_count") private Integer pageCount; @Column(name = "created_at") private LocalDateTime createdAt; @Column(name = "updated_at") private LocalDateTime updatedAt; @ManyToMany @JoinTable( name = "book_authors", joinColumns = @JoinColumn(name = "book_id"), inverseJoinColumns = @JoinColumn(name = "author_id") ) @JsonManagedReference @JsonIncludeProperties({"id","name"}) private Set<Author> authors; @JsonManagedReference @OneToMany(mappedBy = "book", cascade = CascadeType.ALL, orphanRemoval = true) private List<Review> reviews = new ArrayList<>(); @JsonManagedReference @OneToMany(mappedBy = "book", cascade = CascadeType.ALL, orphanRemoval = true) private List<Rating> ratings = new ArrayList<>(); @JsonManagedReference @OneToMany(mappedBy = "book", cascade = CascadeType.ALL, orphanRemoval = true) private List<UserLibrary> userLibraries = new ArrayList<>(); }