Я застрял в конкретной проблеме, используя тип массива в postgresql 9.3, сопоставленном с hibernate 4.1.0. Этот тип позволяет мне иметь действительно сильную модель данных, не создавая множество таблиц и объединений.
Чтобы отобразить поле, сохраненное в этом конкретном типе, я использовал UserType
В любом случае, он хорошо работает с чистым hibernate (hql), но мне также нужно отправить sql native в мою базу данных. Когда я это делаю, несмотря на многие попытки, я не нашел никакого способа сделать это.
Я пробую много синтаксисов на основе этого
String[] values = {"value1", "value2"};
String queryString = "SELECT * FROM instances WHERE values && :values";
Query query = this.getSession().createSQLQuery(queryString).addEntity(Instance.class);
query.setParameterList("values", values);
query.list();
Я получил Оператор не существует: текст [] && различающийся символ
Он должен дать следующий синтаксис в jdbc: ['value1', 'value2'] и, кажется, дает значение "value1"...
Я пробовал много синтаксисов с
- Коллекция
- Чистые массивы Синтаксис
- [: values]: я получил Ошибка синтаксиса около "["
Мне нужно отправить собственный запрос, потому что я использую Materialized View для повышения производительности.
Мой SQL-запрос работает в консоли postgresql. Так что это проблема спящего режима.