| 
 | 
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Здравствуйте!  Пытаюсь из БД удалить записи соответствующие условию, с помощью запроса "createQuery" Hibernate: Код: java 1. 2. 3. На что он мне отвечает, что нельзя делать запросы на удаление/обновление. авторjava.lang.IllegalArgumentException: Update/delete queries cannot be typed org.hibernate.internal.AbstractSharedSessionContract.resultClassChecking(AbstractSharedSessionContract.java:763) org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:746) org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:104) dao.PredictionLevelImplDao.dell(PredictionLevelImplDao.java:45) Как удалять тогда, если нужно удалить сразу много записей соответствующих условию? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 15:54 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir, пробовал делать так: Код: java 1. 2. 3. Выдает исключение авторorg.hibernate.QueryException: Named parameter not bound : Оск001 org.hibernate.query.internal.QueryParameterBindingsImpl.verifyParametersBound(QueryParameterBindingsImpl.java:210) org.hibernate.query.internal.AbstractProducedQuery.beforeQuery(AbstractProducedQuery.java:1427) org.hibernate.query.internal.AbstractProducedQuery.executeUpdate(AbstractProducedQuery.java:1606) dao.PredictionLevelImplDao.dell(PredictionLevelImplDao.java:47) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 16:16 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir, ещё пробовал такой вариант: Код: java 1. 2. 3. авторjavax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute statement org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) org.hibernate.query.internal.AbstractProducedQuery.executeUpdate(AbstractProducedQuery.java:1617) dao.PredictionLevelImplDao.dell(PredictionLevelImplDao.java:47) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 16:31 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir, Сделайте пример из сети или книги. Что вы гадаете наобум? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 16:34 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir, вы одновременно методом тыка учитесь и запросы писать и Hibernate? ИМХО стоит метод тыка заменить на чтение документации. Если namePost - это поле в таблице Predictionlevelwater , то так: Код: java 1. 2. 3. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 16:37 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Дмитрий Мух Vlad__i__mir, вы одновременно методом тыка учитесь и запросы писать и Hibernate? ИМХО стоит метод тыка заменить на чтение документации. Если namePost - это поле в таблице Predictionlevelwater , то так: Код: java 1. 2. 3. namePost - это свойство у объекта, который является значением поля в таблице 22154615 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 16:47 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp, везде примеры проще, без условия с ссылкой на свойство объекта, хранящегося в таблицк ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 16:49 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir Дмитрий Мух Vlad__i__mir, вы одновременно методом тыка учитесь и запросы писать и Hibernate? ИМХО стоит метод тыка заменить на чтение документации. Если namePost - это поле в таблице Predictionlevelwater , то так: Код: java 1. 2. 3. namePost - это свойство у объекта, который является значением поля в таблице 22154615 У вас объект является значением поля в таблице? Вы ничего не путаете? Можете дать описание таблицы, её назначение и сформулировать то, какие данные оттуда необходимо удалить. Тогда мы сначала попробуем написать соответсвующий SQL запрос, а потом уже вызвать его средствами Hibernate. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 17:21 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir, Если вы пишете запрос - то вы пишете его к базе данных. Которая знать не знает ни про какие объекты и поля. Это во первых. А во вторых - а зачем вы вообще этот запрос пишете? Может проще использовать методы репозитория? https://docs.spring.io/spring-data/jpa/docs/1.5.0.RELEASE/reference/html/jpa.repositories.html ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 17:25 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Дмитрий Мух, В таблице Predictionlevelwater есть поле - это поле FK, FK ссылается на таблицу Post, у которой есть поле namePost. Поэтому я в запросе и ссылался через точку, как бы обращаясь к полю объекта: автор"DELETE FROM Predictionlevelwater e WHERE postId.namePost=:namePost" ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 17:27 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir, Если FK, то это число. Если удаляете не по нему а имени то должен быть join. ОТЛАЖИВАЙТЕ ЗАПРОС В ПРОГЕ ДЛЯ БД. Без java. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 18:12 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir, 2. Если немного элементов то можно удалять в цикле по коллекции. Ведь орм и хибер все таки. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 18:14 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp, Сделал так: 1) нашел объект postId 2) выбрал из таблицы все записи с данным объектом Код: java 1. 2. 3. 4. 3) с помощью цикла удаляю все объекты: Код: java 1. Конечно с точки зрения оптимальности алгоритм желает лучшего, но работает ) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 18:20 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir, Есть рационально и есть оптимально. Удачи! ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 18:24 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir Дмитрий Мух, В таблице Predictionlevelwater есть поле - это поле FK, FK ссылается на таблицу Post, у которой есть поле namePost. Поэтому я в запросе и ссылался через точку, как бы обращаясь к полю объекта: автор"DELETE FROM Predictionlevelwater e WHERE postId.namePost=:namePost" Из первого сообщения вы уже поняли, что Hibernate не умеет использовать информацию о типе (Predictionlevelwater.class) для построения правильного запроса DELETE. То есть в вашем случае он ничего не знает о таблице Post и о том, что Predictionlevelwater на неё ссылается. И вам самому сначала надо написать правильный запрос DELETE и потом вызвать его в коде Java с нужными параметрами. Варианты: Код: sql 1. Код: sql 1. Код: sql 1. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 18:27 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir PetroNotC Sharp, Сделал так: 1) нашел объект postId 2) выбрал из таблицы все записи с данным объектом Код: java 1. 2. 3. 4. 3) с помощью цикла удаляю все объекты: Код: java 1. Конечно с точки зрения оптимальности алгоритм желает лучшего, но работает ) Хорошо, что вы нашли решение. И всё же я бы на вашем месте подтянул знания по SQL и переписал без циклов, одним запросом. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 18:34 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Дмитрий Мух, спасибо! 1-ый и 2-ой вариант мне в принципе понятен, JOIN пользоваться умею Попробую ваш вариант. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.06.2020, 18:53 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vlad__i__mir Конечно с точки зрения оптимальности алгоритм желает лучшего, но работает ) Да, у меня код типа такого и всё встаёт раком. Ява с гибернейтом уже где-то год в процессе выкидывания. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 22.06.2020, 07:00 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  crutchmaster Да, у меня код типа такого и всё встаёт раком. Ява с гибернейтом уже где-то год в процессе выкидывания. Из дотнетов порт хибера уже давно повыпилили, а в джаве смотрю процесс ещё идёт ) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 22.06.2020, 07:59 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  hVostt, Неужели один EF остался. Странно. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 22.06.2020, 08:11 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  hVostt, Там томик такой хороший по хиберу, я так и не осилил. Шоб просто работало, надо изучить этот талмуд. Но это не факт. Да да, батхёрт неосилятора. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 22.06.2020, 09:34 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp hVostt, Неужели один EF остался. Странно. Почему же, ORM-ов хватает. Всяких разных. Просто для NHibernate в своё время альтернатив не было, затем их запилили в нужном количестве, а хибер оказался избыточно сложным и неповоротливым поделием. crutchmaster hVostt, Там томик такой хороший по хиберу, я так и не осилил. Шоб просто работало, надо изучить этот талмуд. Но это не факт. Да да, батхёрт неосилятора. Просто хибер это убер-вундервафля :) Видимо и джаве тож самое. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 22.06.2020, 13:02 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Главное чтоб из стека SpringData его убрали. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 22.06.2020, 13:19 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  hVostt, Дак дай хоть пару имен то. Мы не в курсе тут, что там за горизонтом, в Net уже нового. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 22.06.2020, 13:52 | 
  
  
  
   | 
||
| 
 
Удаление записей соответствующих условию из БД в Hibernate 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp hVostt, Дак дай хоть пару имен то. Мы не в курсе тут, что там за горизонтом, в Net уже нового. EF Dapper PetaPoco LiteDB SqlSugar FreeSql ServiceStack.OrmLite Insight.Database RepoDb MicroLite ... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 22.06.2020, 14:21 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=59&msg=39971465&tid=2120761]:  | 
    0ms | 
get settings:  | 
    11ms | 
get forum list:  | 
    15ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    50ms | 
get topic data:  | 
    9ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    60ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 236ms | 
| total: | 392ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.