findOne(Example<S>) は引数 (Integer) にさせたい
Spring Bootで会員情報管理システムを作っています。
会員情報取得機能を実装中にCustomerService.Javaで以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
型 QueryByExampleExecutor<Customer> のメソッド findOne(Example<S>) は引数 (Integer) に適用できません 型 CrudRepository<Customer,Integer> のメソッド delete(Customer) は引数 (Integer) に適用できません
Customer.java
Java
1package com.example.domain; 2 3import lombok.AllArgsConstructor; 4import lombok.Data; 5import lombok.NoArgsConstructor; 6 7import javax.persistence.*; 8 9@Entity 10@Table(name = "customers") 11@Data 12@NoArgsConstructor 13@AllArgsConstructor 14public class Customer { 15 @Id 16 @GeneratedValue(strategy = GenerationType.IDENTITY) 17 private Integer id; 18 @Column(nullable = false) 19 private String firstName; 20 @Column(nullable = false) 21 private String lastName; 22}
CustomerService.java
Java
1package com.example.service; 2 3import com.example.domain.Customer; 4import com.example.repository.CustomerRepository; 5import org.springframework.beans.factory.annotation.Autowired; 6import org.springframework.stereotype.Service; 7import org.springframework.transaction.annotation.Transactional; 8 9import java.util.List; 10 11 12@Service 13@Transactional 14public class CustomerService { 15 @Autowired 16 CustomerRepository customerRepository; 17 18 public List<Customer> findAll() { 19 return customerRepository.findAllOrderByName(); 20 } 21 22 public Customer findOne(Integer id) { 23 return customerRepository.findOne(id); 24 } 25 26 public Customer create(Customer customer) { 27 return customerRepository.save(customer); 28 } 29 30 public Customer update(Customer customer) { 31 return customerRepository.save(customer); 32 } 33 34 public void delete(Integer id) { 35 customerRepository.delete(id); 36 } 37}
CustomerRepository.java
package com.example.repository; import com.example.domain.Customer; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import java.util.List; public interface CustomerRepository extends JpaRepository<Customer, Integer> { @Query("SELECT x FROM Customer x ORDER BY x.firstName, x.lastName") List<Customer> findAllOrderByName(); }
CustomerRestController.java
Java
1package com.example.api; 2import com.example.domain.Customer; 3import com.example.service.CustomerService; 4import org.springframework.beans.factory.annotation.Autowired; 5import org.springframework.web.bind.annotation.GetMapping; 6import org.springframework.web.bind.annotation.PathVariable; 7import org.springframework.web.bind.annotation.RequestMapping; 8import org.springframework.web.bind.annotation.RestController; 9 10import java.util.List; 11 12@RestController 13@RequestMapping("api/customers") 14public class CustomerRestController { 15 @Autowired 16 CustomerService customerService; 17 18 @GetMapping 19 List<Customer> getCustomers() { 20 List<Customer> customers = customerService.findAll(); 21 return customers; 22 } 23 @GetMapping(path = "{id}") 24 Customer getCustomer(@PathVariable Integer id) { 25 Customer customer = customerService.findOne(id); 26 return customer; 27 } 28} 29
HajibootRestApplication.java
Java
1ソースコードpackage com.example.hajibootrest; 2 3import org.springframework.boot.SpringApplication; 4import org.springframework.boot.autoconfigure.SpringBootApplication; 5 6@SpringBootApplication 7public class HajibootRestApplication { 8 9 public static void main(String[] args) { 10 SpringApplication.run(HajibootRestApplication.class, args); 11 } 12 13}``` 14 15 16### 補足情報(FW/ツールのバージョンなど) 17 18Spring Boot 19Spring Tool Suite4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/14 13:07
2021/10/14 14:09