当前位置: 首页 > 知识库问答 >
问题:

javax。坚持不懈EntityNotFoundException:找不到kg。图书馆SpringSpring图书馆。实体id为10000001的作者

施海
2023-03-14

我刚接触Spring,我可能犯了最愚蠢的错误,但我不能解决这个问题超过2个小时。根据视频教程,我做了分页,我做的和他的一模一样,但他在实体之间没有关系。我认为错误在于作者和图书实体之间的一对一关系。你能帮忙吗?

我想添加分页,因为我的表中有100多万条记录,在添加分页后,我出现了这个错误。

账簿实体:

@Entity
@Table(name = "books")
public class Book {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;

@Column(name = "title")
private String title;

@Column(name = "publishing_year")
private Integer publishingYear;

@Column(name = "sell_cost")
private BigDecimal sellCost;

@Column(name = "rent_cost")
private BigDecimal rentCost;

@Column(name = "amount")
private Integer amount;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "author_id")
private Author author;

//getter and setters

作者实体:

    @Entity
@Table(name = "author")
public class Author {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;

@Column(name = "fullname")
private String fullname;

@Column(name = "birthday")
private Date birthday;

@OneToOne(mappedBy = "author")
private Book book;

//getters and setters

BookServiceImpl类:

@Service
public class BookServiceImpl implements BookService
{
@Autowired
private BookRepository bookRepository;

@Override
public Page<Book> findPaginated(int pageN, int pageSize,String sortField,String sortDirection) {
    Sort sort = sortDirection.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() :
            Sort.by(sortField).descending();
    Pageable pageable = PageRequest.of(pageN-1,pageSize,sort);
    return bookRepository.findAll(pageable);
}

}

LibrarianController类:

@GetMapping("/books/{pageN}")
public String getAllBooks(@PathVariable (value = "pageN") int pageN,Model model,
                          @RequestParam("sortField") String sortField,
                          @RequestParam("sortDir") String sortDir){

    int pageSize = 25;

    Page<Book> page = bookService.findPaginated(pageN,pageSize,sortField,sortDir);
    List<Book> books = page.getContent();

    model.addAttribute("currentPage",pageN);
    model.addAttribute("totalPages",page.getTotalPages());
    model.addAttribute("totalItems", page.getTotalElements());
    model.addAttribute("books",books);
    model.addAttribute("sortField",sortField);
    model.addAttribute("sortDir",sortDir);
    model.addAttribute("reverseSortDir",sortDir.equals("asc") ? "desc" : "asc");
    return "librarian/show-all-books";
}

共有2个答案

龚昊然
2023-03-14

试试这些改变。我希望每本书只有一位作者。

Book.java:

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "author_id")
    private Author author;

著者爪哇:

    @OneToMany(mappedBy = "author")
    private List<Book> books=new ArrayList<>();
蔚承天
2023-03-14

似乎有一个图书记录引用了一个id为10000001的作者,但该作者不在Author表中。

 类似资料:
  • 在尝试设置Python包(mlabwrap)时,我收到以下链接错误: build命令如下所示: c-pthread-shared-Wl,-O1-Wl,-Bsymbolic functions-Wl,-Bsymbolic functions-Wl,-z,relro-fno严格别名-DNDEBUG-g-fwrapv-O2-Wall-Wstrict原型-D_FORTIFY_SOURCE=2-g-fsta

  • 我必须给主类加上JavaMailUtl类这是我的JavaMailUtl类: 这是我的主要课程: 当我尝试运行项目时,出现以下错误: 多次仔细检查代码,发现没有问题,我的每个对象都指向了正确的位置。

  • 我正在使用Fresco库将图像和GIF加载到我的应用程序中。我遇到的最大的限制是壁画的布局宽度和高度必须设置。因此,我设置了简单的付款人视图,如下所示: 我的问题是,如果图像的高度大于宽度,那么在图像的右边有很多空白(见附件),但是高度是好的 然后它可能发生在高度,如果实际图像小于宽度(见附件),所以这里,因为固定的高度是250dp,有很多空白的图像下面。

  • 提供了大量的库例程。 有些内置在解释器, ex.exe, exw.exe or exu 。 其他的是用Euphoria编写的,你必须在euphoria\include目录中包含一个.e文件才能使用它们。 要指出可以传入和返回的对象类型,使用以下前缀 - S.No 前缀和描述 1 x 一般对象(原子或序列) 2 s 一个序列 3 a 一个原子 4 i 整数 5 fn 用作文件编号的整数 6 st 字

  • 我试着建立Gradle: 尝试:使用--info或--debug选项运行以获取更多日志输出。 这是我的等级。建造:

  • 我刚刚使用Android room persistence library,通常我使用DBHeper来管理数据,但我正在尝试使用这项技术,我想知道如何在room persistence library中使用这个查询 但是,当我在“喜欢”之后使用%时,我会在红线上划下它