강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của smjo174063
smjo174063

câu hỏi đã được viết

Tạo máy chủ đầu tiên của bạn bằng Java và Spring Boot Bất kỳ ai cũng có thể dễ dàng chuyển từ giai đoạn phát triển sang triển khai! [Gói phát triển máy chủ tất cả trong một]

Bài 31. Phát triển tính năng cho vay

User이 계속 null으로 들어와서 오류가 나네요

Viết

·

915

0

강의내용그대로 입력하였는데 왜그럴까요 ㅠㅠ

서비스부분

public void loan(BookLoanReq req) {
    Book book = bookRepstory.findByName(req.getBookName()).orElseThrow(IllegalArgumentException::new);
    if (userLoanHistoryRep.existsByBookNameAndIsReturn(book.getName(), false)){
        throw new IllegalArgumentException("대출중인 책입니다.");
    }
    User user=userRepstrory.findByName(req.getUserName()).orElseThrow(IllegalArgumentException::new);
        userLoanHistoryRep.save( new UserLoanHistory(user.getId(),book.getName(),false));
  }
public interface UserRepstrory extends JpaRepository<User,Long> {

    Optional<User> findByName(String name);
}
package com.group.libraryapp.domain.user;

import javax.persistence.*;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    public User(String name,Integer age) {
        if(name==null||name.isBlank()){
            throw new IllegalArgumentException(String.format("널값"));
        }
        this.name = name;
        this.age = age;
    }
    @Column(name="age",length = 20)
    private Integer age;
    @Column(name="name",nullable = false)
    private  String name;

    protected User(){
    }

    public Long getId() {
        return id;
    }

    public Integer getAge() {
        return age;
    }

    public String getName() {
        return name;
    }
    public void update(String name){
        this.name=name;
    }

    public User(Long id, Integer age, String name) {
        this.id = id;
        this.age = age;
        this.name = name;
    }
}

마지막으로 오류코드올려드릴게요

ava.lang.IllegalArgumentException: null

at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na]

at com.group.libraryapp.service.book.BookService.loan(BookService.java:39) ~[main/:na]

at com.group.libraryapp.controller.book.BookController.loan(BookController.java:29) ~[main/:na]

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]

at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]

 

javaspringawsmysqlspring-bootjpa

Câu trả lời 2

0

lannstark님의 프로필 이미지
lannstark
Người chia sẻ kiến thức

안녕하세요 성문님!! 😊

잘 성공하셨다니 다행입니다..!!! 해당 부분에서 예외가 발생하는 것은 DB에 적절한 데이터가 정말 없던 것으로 보여요! 코드는 매우 잘 작성하셨구요~~ 👍

또 편하게 질문 남겨주세요~~ 감사합니다! 🙏

0

smjo174063님의 프로필 이미지
smjo174063
Người đặt câu hỏi

테이블다비우고 리프레쉬하니 성공했네요 ㄷㄷ

Hình ảnh hồ sơ của smjo174063
smjo174063

câu hỏi đã được viết

Đặt câu hỏi