Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java: Базы данных
Войти
Регистрация
Восстановить пароль
 
n1ceSmoke
0 / 0 / 0
Регистрация: 05.01.2018
Сообщений: 12
1

Неверное удаление строк

19.10.2018, 16:23. Просмотров 298. Ответов 0

Есть такой метод:
Java
1
2
3
4
5
6
7
8
public void deleteFromCart(String productId){
        cart = us.getCurrentUser().getCart();
        if(cart==null) createNewCart();
        
        cart.getProducts().remove(pRepository.getOne(productId));
        
        cart = repository.saveAndFlush(cart);
    }
По логике он должен удалять из корзины продукт. И так и происходит если в корзине более одного товара. Но если в корзине один продук, то он удаляется из таблицы с продуктами. Т.е. полностью из бд. Почему так?

cart.java:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Entity
@Table(name="CART")
public class Cart implements SiteEntity, Serializable{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="ID", columnDefinition="INTEGER")
    private Long id;
    @Column(name="AMOUNT")
    private double amount;
    @OneToOne
    @JoinColumn(name="USER", nullable=false)
    private GUser user;
    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
    @JoinTable(name="cart_products", 
            joinColumns={@JoinColumn(name="CART_ID")},
            inverseJoinColumns={@JoinColumn(name="PRODUCTS_ID")})
    private List<Product> products;
product.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@Entity
@Table(name="PRODUCTS")
public class Product implements SiteEntity, Serializable{
        
    @Id
    @Column(name="ID", nullable=false, unique=true, length=255)
    private String id;
    @Column(name="NAME", nullable=false, columnDefinition="TEXT")
    private String name;
    @Column(name="PRICE", nullable=false)
    private double price;
    @Column(name="SHORT_DESC", columnDefinition="TEXT")
    private String shortDesc;
    @Column(name="DESCRIPTION", columnDefinition = "LONGTEXT")
    private String description;
    @Column(name="IMAGE", columnDefinition="TEXT")
    private String image;
    @Column(name="STOCK", nullable=false)
    private String stock;
    @Column(name="SEARCH_WORDS", columnDefinition="LONGTEXT")
    private String searchWords;
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name="CATEGORY")
    private Category category;
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2018, 16:23
Ответы с готовыми решениями:

Удаление строк из таблицы
Здравствуйте. Помогите с удалением поля из таблицы по заданому индексу. Пользователь вводит в...

Неверное удаление символов
Проблема заключается в том, что необходимо, что бы из 2й строки удалялись все символы 1й строки....

Неверное отображение строк
задание : Написать программу выделения из исходной строки подстроки символов заданной длины с...

Неверное сравнение строк (на русском)
Возникла проблема со сравнением/проверкой вхождения одной строки в другую. Есть строка...

tail: +: неверное число строк
Здравствуйте! Имеется скрипт xscale_be_1.1.sh, содержащий бинарные данные:...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2018, 16:23

Неверное количество строк при взаимодействии с Excel
Возможно немного ошибся темой вопрос скорее о COM и 1С, но не все сразу) Есть выгрузка из...

Наследник TableLayoutPanel: неверное количество создаваемых строк и столбцов
Хочу создать компонент, наследующий от TableLayoutPanel, но сталкиваюсь с одной проблемой. В...

Сцепка текста в ячейках, если совпадают значения в столбце А, удаление повторов имен, удаление лишних строк
Добрый день, подскажите, как решить задачу: Есть список организаций с контактами. Одна организация...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru