MongoDb DbSeeder Issue (Приложение SpringBoot Rest) - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть два разных приложения Spring Boot Rest, первое приложение для заказа, а второе приложение для пользователей.Я использую DBSeeder в обоих приложениях, чтобы заполнить некоторые начальные значения.Приложения для заказов DBSeeder работает правильно. Я могу сохранить список заказов, но приложение пользователя DbSeeder не принимает список пользователей.Я просто хочу знать, почему Dbseeder of Order принимает список заказов и почему User Dbseeder не принимает список пользователей, в чем разница между этими двумя: -

Заявка на заказ: - DbSeeder.java:-

import java.util.Arrays;
import java.util.Date;
import java.util.List;

import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

import model.Item;
import model.Order;

@Component
public class DbSeeder implements CommandLineRunner {
    private AccountRepository accountRepository;
    private OrderRepository orderRepository;
    private InventoryRepository inventoryRepository;



    public DbSeeder(OrderRepository orderRepository) {
        super();
        this.orderRepository = orderRepository;
    }



    @Override
    public void run(String... strings) throws Exception {
        Order or1 = new Order(111, "AX-121UIZO", new Date(2018, 12, 06), Arrays.asList(new Item(123456, 6),new Item(178456, 5)));
        Order or2 = new Order(112, "GH-1YUGHYO", new Date(2018, 07, 28), Arrays.asList(new Item(123456, 1),new Item(178456, 3)));
        Order or3 = new Order(113, "IJ-YUIUIZO", new Date(2018, 12, 21), Arrays.asList(new Item(123456, 4),new Item(178456, 2)));

        this.orderRepository.deleteAll();
        List<Order> orders = Arrays.asList(or1,or2,or3);
        this.orderRepository.save(orders);
    }
}

для вышеуказанной строки кода DbSeeder

this.orderRepository.save(orders);

не выдает никакой ошибки.

Но для приложения пользователя DbSeeder ниже я получаюошибка в последней строке

this.userRepository.save(users);

ошибка

Несколько маркеров в этой строке - метод save (S) в типе CrudRepository не применим для аргументов (список)

Вот полный код DbSeeder для пользовательского приложения: -

import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

import com.ipaylabs.parent.model.User;
import com.ipaylabs.parent.repositories.UserRepository;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

@Component
public class DbSeeder implements CommandLineRunner {
    private UserRepository userRepository;

    public DbSeeder(UserRepository userRepository) {
        super();
        this.userRepository = userRepository;
    }



    @Override
    public void run(String... strings) throws Exception {


        User u1  = new User("arvind", "181994", "arvindcarpenter94@gmail.com", "121");
        User u2  = new User("nakul", "181994", "arvindcarpenter94@gmail.com", "121");
        User u3  = new User("nidhi", "181994", "arvindcarpenter94@gmail.com", "121");

        this.userRepository.deleteAll();
        List<User> users = Arrays.asList(u1,u2,u3);
        this.userRepository.save(users);
    }
}

Ниже представлены репозитории для заказов и репозитории

@Repository
   public interface OrderRepository extends MongoRepository<Order,String>{
}

UserRepository: -

@Repository
public interface UserRepository extends MongoRepository<User, String> {
}

Классы моделей User и Order: -

Order.java

@Document(collection = "Order")
public class Order {
    @Id
    private String id;
    private int customerId;
    private String orderId;
    private Date orderDate;
    private List<Item> items;

    protected Order() {}

    public Order(int customerId, String orderId, Date orderDate, List<Item> items) {
        super();
        this.customerId = customerId;
        this.orderId = orderId;
        this.orderDate = orderDate;
        this.items = items;
    }
    public String getId() {
        return id;
    }
    public int getCustomerId() {
        return customerId;
    }
    public String getOrderId() {
        return orderId;
    }
    public Date getOrderDate() {
        return orderDate;
    }
    public List<Item> getItems() {
        return items;
    }
    public void setId(String id) {
        this.id = id;
    }
    public void setCustomerId(int customerId) {
        this.customerId = customerId;
    }
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }
    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }
    public void setItems(List<Item> items) {
        this.items = items;
    }
}

User.java

@Document(collection="User")
public class User {

    @Id
    private String id;

    @Indexed(direction=IndexDirection.ASCENDING)
    private String username;
    private String password;
    private String salt;
    private String email;
    private String lastLoginTime;

    public User() {}

    public User(String username, String password, String email, String lastLoginTime) {
        super();
        this.username = username;
        this.password = password;
        this.email = email;
        this.lastLoginTime =lastLoginTime;
    }


    public String getId() {
        return id;
    }
    public String getUsername() {
        return username;
    }
    public String getPassword() {
        return password;
    }
    public String getEmail() {
        return email;
    }
    public String getLastLoginTime() {
        return lastLoginTime;
    }


    public void setId(String id) {
        this.id = id;
    }


    public void setUsername(String username) {
        this.username = username;
    }


    public void setPassword(String password) {
        this.password = password;
    }


    public void setEmail(String email) {
        this.email = email;
    }


    public void setLastLoginTime(String lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public String getSalt() {
        return salt;
    }

    public void setSalt(String salt) {
        this.salt = salt;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...