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

Ошибочный Query?

27.09.2018, 15:47. Просмотров 112. Ответов 5

Есть база на mysql. В базе несколько пустых и две заполненных таблицы(CATEGORY, PRODUCTS). PK у CATEGORY = bigint, PK y PRODUCTS= varchar. Когда получаю category по id все ок. Поучаю и категорию и ее подкатегории через маппинг. Когда пытаюсь получить product по id, то все записи удаляются, а типы данных, там где был TEXT и MEDIUMTEXT сбрасывает на varchar. Получить пытаюсь через так:
Код
from Product p where p.id = :id
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)
    private String name;
    @Column(name="PRICE", nullable=false)
    private double price;
    @Column(name="SHORT_DESC")
    private String shortDesc;
    @Column(name="DESCRIPTION")
    private String description;
    @Column(name="IMAGE")
    private String image;
    @Column(name="STOCK", nullable=false)
    private Stock stock;
    @Column(name="SEARCH_WORDS")
    private String searchWords;
    @ManyToOne
    @JoinColumn(name="CATEGORY")
    private Category category;
геттеры/сеттеры опустил

когда пишу обычный sql запрос
Код
SELECT * FROM test.products WHERE ID = 'ID';
в workbench то все отрабатывает правильно.

ProductRepository который отправляет запрос

Java
1
2
3
4
5
6
7
8
@Repository
public interface ProductRepository extends JpaRepository<Product, Long> {
    @Query("from Product p where p.category = :cat")
    List<Product> getProductsFromCategory(@Param("cat") Category cat);
 
    @Query("from Product p where p.id = :id")
    Product getById(@Param("id") String id);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2018, 15:47
Ответы с готовыми решениями:

Ошибочный путь перехода из WebContent/jsp/
привет всем. скажите, почему при структуре такой веб приложения (как на картинке) . невозможно...

Query java
почему не работает метод findAll (classCastException cannot be cust to util.list ) и как написать...

Rest find query
Есть сущность с несколькими полями. Хранится, например, в постгре. Написан рест-сервис на буте....

[Spring Data] Не работает кастомная Query
Ошибка: org.springframework.beans.factory.BeanCreationException: Error creating bean with name...

Ошибка в jpql. Неправильно составлен @Query
Моя версия запроса в которой допущена ошибка, думаю в сравнении ON ошибка @Query( &quot;SELECT...

5
snajper_ro
108 / 93 / 51
Регистрация: 14.09.2011
Сообщений: 589
Записей в блоге: 1
28.09.2018, 07:30 2
Java
1
@Param("cat") Category cat
меня смущает ваш кот, передайте туда ид ,а не целую категорию
0
n1ceSmoke
0 / 0 / 0
Регистрация: 05.01.2018
Сообщений: 12
28.09.2018, 11:06  [ТС] 3
Цитата Сообщение от snajper_ro Посмотреть сообщение
меня смущает ваш кот, передайте туда ид ,а не целую категорию
Переделал на стринг.
Репозиторий теперь такой, но продолжают удалятся записи.
Java
1
2
3
4
5
@Repository
public interface ProductRepository extends JpaRepository<Product, String> {
    @Query("from Product p where p.category.id = :categoryId")
    List<Product> getProductsFromCategory(@Param("categoryId") String categoryId);
}
0
snajper_ro
108 / 93 / 51
Регистрация: 14.09.2011
Сообщений: 589
Записей в блоге: 1
28.09.2018, 11:13 4
и что результат такой же?
а как вообще возможно какое-то удаление (Когда пытаюсь получить product по id, то все записи удаляются, а типы данных, там где был TEXT и MEDIUMTEXT сбрасывает на varchar.)
это звучит очень дико

Добавлено через 1 минуту
можете использовать spring.datasource.url=jdbc6spy:mariadb:
p6spy для анализа всех запросво которые посылаются в базу
XML
1
2
3
4
5
 <dependency>
            <groupId>p6spy</groupId>
            <artifactId>p6spy</artifactId>
            <version>3.6.0</version>
        </dependency>
Добавлено через 40 секунд
там еще надо конфигурировать его, почитайте как
0
n1ceSmoke
0 / 0 / 0
Регистрация: 05.01.2018
Сообщений: 12
28.09.2018, 11:20  [ТС] 5
Из базы приходит null на все поля объекта.
В при загрузке пишет так:
Код
Stacktrace:] with root cause

 org.hibernate.LazyInitializationException: could not initialize proxy [com.test.entity.Product#1080] - no Session

	at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:169)

	at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:309)

	at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept(ByteBuddyInterceptor.java:45)

	at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:95)

	at com.test.entity.Product$HibernateProxy$KElwFdee.getImage(Unknown Source)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
0
snajper_ro
108 / 93 / 51
Регистрация: 14.09.2011
Сообщений: 589
Записей в блоге: 1
28.09.2018, 11:26 6
Цитата Сообщение от n1ceSmoke Посмотреть сообщение
no Session
проблема здесь, вы даже не можете получить продукты,
1)у вас либо не открыто сессия , вопрос почему?
то есть капайте в этом направлении , найдите простой рабочий пример и упростите вашу задачу
0
28.09.2018, 11:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2018, 11:26

Spring. Repository. @Query. Привильно написать запрос
Подчеркивает в @Query Click. В чем может быть ошибка? Как создавать сложные запросы ? ...

Shodanhq - ошибка Error: Invalid search query, please check the query syntax
Собственно, такая проблема. Я думаю, что многие знакомы с такой поисковой системой, как...

Не работает $db->query(); // Call to a member function Query() on a non-object in
Только приступил к ООП, поэтому очевидно наличие простых ошибок. Вот код, который при запуске...


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

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

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