#java #spring #spring-boot #maven #jpa
Вопрос:
Я пытаюсь создать 3 репозитория JPA с 3 соответствующими службами, но я даже не знаю, с чего начать. Я буду признателен, если кто-нибудь из вас возьмет на это добычу.
Книга DTO
package com.mile.pc.java8.book_api_jpa.DTO;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "books")
public class Book {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String name;
private String type;
private boolean available;
protected Book() {}
public Book(String name, String type, boolean available) {
super();
this.name = name;
this.type = type;
this.available = available;
}
public Long getID() {
return id;
}
public String getName() {
return name;
}
public String getType() {
return type;
}
public boolean isAvailable() {
return available;
}
@Override
public String toString() {
return "Book [id=" id ", name=" name ", type=" type ", available=" available "]";
}
}
приказ DTO:
package com.mile.pc.java8.book_api_jpa.DTO;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "orders")
public class Order {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
private String customerName;
protected Order() {}
public Order(Integer id, String customerName) {
super();
this.id = id;
this.customerName = customerName;
}
public int getId() {
return id;
}
public String getCustomerName() {
return customerName;
}
@Override
public String toString() {
return "Order [id=" id ", customerName=" customerName "]";
}
}
The client DTO:
package com.mile.pc.java8.book_api_jpa.DTO;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "clients")
public class Client {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private String clientEmail;
private String clientName;
protected Client() {}
public Client(String clientEmail, String clientName) {
super();
this.clientEmail = clientEmail;
this.clientName = clientName;
}
public String getClientEmail() {
return clientEmail;
}
public String getClientName() {
return clientName;
}
@Override
public String toString() {
return "Client [clientEmail=" clientEmail ", clientName=" clientName "]";
}
}
Book repo:
package com.mile.pc.java8.book_api_jpa.DTO.repo;
import java.util.ArrayList;
import java.util.List;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.mile.pc.java8.book_api_jpa.DTO.Book;
@EnableJpaRepositories
@Repository
public interface BookRepository extends CrudRepository<Book, Long> {
List<Book> books = new ArrayList<>();
}
Order repo:
package com.mile.pc.java8.book_api_jpa.DTO.repo;
import java.util.ArrayList;
import java.util.List;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.mile.pc.java8.book_api_jpa.DTO.Order;
@EnableJpaRepositories
@Repository
public interface OrderRepository extends CrudRepository<Order, Long> {
List<Order> orders = new ArrayList<Order>();
}
Client repo:
package com.mile.pc.java8.book_api_jpa.DTO.repo;
import java.util.HashMap;
import java.util.Map;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.mile.pc.java8.book_api_jpa.DTO.Client;
@EnableJpaRepositories
@Repository
public interface ClientRepository extends CrudRepository<Client, Long> {
Map<String, Client> clients = new HashMap<String, Client>();
}
Услуга Бронирования:
package com.mile.pc.java8.book_api_jpa.DTO.repo.service;
import org.springframework.stereotype.Service;
@Service
public class BookService{
}
Заказать услугу:
package com.mile.pc.java8.book_api_jpa.DTO.repo.service;
import org.springframework.stereotype.Service;
@Service
public class OrderService {
}
Обслуживание Клиентов:
package com.mile.pc.java8.book_api_jpa.DTO.repo.service;
import org.springframework.stereotype.Service;
@Service
public class ClientService {
}
Я знаю, что прошу о многом. Но я был бы вам очень признателен…Спасибо 🙂
Комментарии:
1.
List<Book> books = new ArrayList<>();
и т.д. не должны быть частью репозиториев, и я бы поместил@EnableJpaRepositories
их в класс конфигурации или приложение. С помощью этой настройки у вас уже должны быть базовые методы репозитория, и вы можете добавить любые другие, которые вам нравятся (подумайте о том, что может потребоваться, и прочитайте документы о том, как это сделать). Что касается услуг: какую цель они должны выполнять? Каковы требования к ним? Начните создавать методы, соответствующие этим требованиям и использующие репозитории по мере необходимости (автоматически подключайте репозитории к службам, чтобы они были доступны).2. Модель > Dao(@Репозиторий) >> Служба(@Служба) >>> Контроллер(@RestController/@Контроллер) — Это обычная конструкция — Вы пропустили уровень DAO — Импортируйте этот проект, запустите и отладьте его на своей локальной машине .>>> github.com/mehmetpekdemir/Library-Management-System
3. Тай Сибин