powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / заставить Hibernate послать запрос с кавычками внутри!
15 сообщений из 15, страница 1 из 1
заставить Hibernate послать запрос с кавычками внутри!
    #37675371
kaldorey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть база в PostgreSQL, в ней таблица ITEM - имя в верхнем регистре. Sql в этой субд противоречит стандарту, и имена без кавычек переводит не в верхний, а в нижний регистр. Вот и получается, что в моем запросе
Код: plsql
1.
select * from ITEM

ITEM преобразуется в item и PG выдает ошибку "relation "item" does not exists".
Вот как я все связываю:
Есть Item.java
Код: java
1.
2.
3.
@Entity
@Table(name = "ITEM")
public class Item {...


далее имеется интерфейс ItemDAO.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
public interface ItemDAO {

	public void addItem(Item item);

	public List<Item> listItem();

	public void removeItem(Integer id);

}


Затем реализация интерфейса ItemImpl.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
...import com.food.manager.domain.Item;

@Repository
public class ItemImpl implements ItemDAO {

	@Autowired
	private SessionFactory sessionFactory;

	public void addItem(Item item) {
		sessionFactory.getCurrentSession().save(item);
	}

	@SuppressWarnings("unchecked")
	public List<Item> listItem() {

		return sessionFactory.getCurrentSession().createQuery("from Item")
			.list();
	}
...


Я начинающий еще, подскажите, правильно ли я понимаю, что именно так происходит построение запроса?

И чтобы послать запрос Select * from "ITEM" вместо Select * from ITEM , надо внедрить каким-то образом кавычки в @Table. Буду очень признателен, если подскажете как, или альтернативный выход из положения. Переименовывать таблицы не предлагать. Спасибо
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675379
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaldorey,
какой диалект в хибере используется? какая версия субд?

У меня такой проблемы нет хотя имя таблицы такое есть, хибер сам всё разруливает.
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675385
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GregTkУ меня такой проблемы нет хотя имя таблицы такое есть, хибер сам всё разруливает.
Не всегда и не особо он разруливает.

Только я не знаю зачем это на форуме спрашивать. Простое гугление массы ссылок выдаёт

http://stackoverflow.com/questions/2224503/creating-field-with-reserved-word-name-with-jpa
http://docs.jboss.org/hibernate/stable/core.old/reference/en/html/mapping-quotedidentifiers.html
http://www.mkyong.com/hibernate/how-to-use-database-reserved-keyword-in-hibernate/
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675391
kaldorey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PostgreSQL 8.4.4
Диалект org.hibernate.dialect.PostgreSQLDialect
Ну с этой проблемой я уже справился, сейчас буду дальше изучать. Надо было сделать так
Код: java
1.
@Table(name = "\"ITEM\"")


это java лексика, а я уже запутался в языках просто, хотел как в оракле '''' замутить :)
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675395
kaldorey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а насчет ссылок, к сожалению, глубоким знанием английского не страдаю, и русскоязычного описания проблемы не нашел, надеюсь, другим это поможет
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675401
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaldoreyа насчет ссылок, к сожалению, глубоким знанием английского не страдаю, и русскоязычного описания проблемы не нашел, надеюсь, другим это поможет
Пишите на PHP. Серьезно. Без английского учить Java будет не реально сложно.
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675407
kaldorey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, я лучше подучу английский, т.к. в java есть нужный функционал, которого скорее всего нет в PHP
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675411
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaldoreyНу, я лучше подучу английский, т.к. в java есть нужный функционал, которого скорее всего нет в PHP
Согластно местным поверьям, даже в Delphi есть всё тоже самое что и в Java, и, даже, лучше. Что уж, говорить про PHP.
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675414
kaldorey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczСогластно местным поверьям, даже в Delphi есть всё тоже самое что и в Java, и, даже, лучше. Что уж, говорить про PHP.
Независимость от платформы+ высокая отказоустойчивость + АОП + низкоуровневое программирование?
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675488
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaldoreyBlazkowiczСогластно местным поверьям, даже в Delphi есть всё тоже самое что и в Java, и, даже, лучше. Что уж, говорить про PHP.
Независимость от платформы+ высокая отказоустойчивость + АОП + низкоуровневое программирование?

ага
COM+Да+MeAOP+WinAPI32\Assembler
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675493
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaldoreySql в этой субд противоречит стандарту,
это на любом ЯП плохо - приведи в соответствие.
При создании таблицы - убери кавычки.
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675642
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ITEM преобразуется в item и PG выдает ошибку "relation "item" does not exists".

Такого не может быть - в постгресе имена таблиц case-insensitive. Либо такой таблицы вообще нет, либо она находится в схеме, не указанной в search_path.
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675650
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪITEM преобразуется в item и PG выдает ошибку "relation "item" does not exists".

Такого не может быть - в постгресе имена таблиц case-insensitive. Либо такой таблицы вообще нет, либо она находится в схеме, не указанной в search_path.
ну сделай

Код: sql
1.
2.
3.
CREATE TABLE test."Table1" (
  id INTEGER
) WITHOUT OIDS;


и доложи о результатах
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675783
kaldorey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
указывал конкретно со схемой, не работало так, так что регистрозависимые, это уже внутри данные наверно могут быть как хочешь
...
Рейтинг: 0 / 0
заставить Hibernate послать запрос с кавычками внутри!
    #37675800
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и доложи о результатах

Я был не прав.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / заставить Hibernate послать запрос с кавычками внутри!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]