Используйте моноширинный шрифт как Lucida Console, , который идет с Windows. Если Вы сокращаете/вставляете из Visual Studio или чего-то, что поддерживает подсветку синтаксиса, можно часто сохранять цветовую схему маркера синтаксиса.
Отвечая на ваш конкретный вопрос, нет, насколько мне известно, это невозможно с HQL.
Я думаю, вы здесь немного смешиваете SQL и HQL. В SQL вы действительно "удаляете" записи, и, конечно, спящий режим тоже это сделает. Однако Hibernate / HQL разработан с учетом объектно-ориентированного мышления, поэтому «удалить» в этом контексте означает, что вы удаляете объекты, а не ассоциации. Обычно вы делаете что-то вроде следующего:
Foo f = session.get(Foo.class, id);
f.getBars().clear();
session.merge(f);
Это извлекает объект по указанному вами идентификатору и удаляет все ассоциации Bar, очищая его коллекцию. Очевидно, чтобы это работало, вам необходимо сопоставить ассоциацию Foo-Bars в правильном направлении.
Удаление только ассоциаций с HQL невозможно. Однако вы можете сделать следующее:
A) Предполагая, что вы делаете это для одного Foo и ваш каскад настроен соответствующим образом, вы можете загрузить этот экземпляр Foo
, очистив его коллекцию от баров
и сохраните его.
B) Если вы пытаетесь очистить столбцов
из нескольких Foos
, вы можете сопоставить запрос SQL вместо HQL