У меня есть два разных приложения 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;
}
}