powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / SQL запрос в HQL/Сriteria
25 сообщений из 75, страница 3 из 3
SQL запрос в HQL/Сriteria
    #37759973
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmccoderпропущено...

Не нужно, так как мне нужны все только последнии параметры одного пациента. Т.е. по одному параметру от каждого типа и чтобы каждый был с последней датой из своей группы (а группируются типу)
а group не забыл? )

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
sessionFactory.getCurrentSession().createQuery(
				"FROM Health a "+
				"INNER JOIN "+
						"SELECT type, MAX(timestamp) AS MaxDateTime FROM a WHERE a.patient.account.login='test@mail.com' " +
					    "AND a.patient.account.password='aaaa' " +
						" GROUP BY type groupedtt " +
					    "ON a.type = groupedtt.type "+
						"AND a.timestamp = groupedtt.MaxDateTime " +			    
				"WHERE a.patient.account.login='test@mail.com' " +
			    "AND a.patient.account.password='aaaa' "
			    ).list()


но
авторorg.hibernate.hql.ast.QuerySyntaxException: unexpected token: SELECT near line 1, column 53
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37759980
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ccoder, подзапрос в скобки наверно)
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37759982
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmccoder, подзапрос в скобки наверно)
Постом-два выше было так (мне просто написали чтобы убрать)
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37759985
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ccoder, параметры через setParametr() ? Пальцем в небо)
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37759987
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmccoder, параметры через setParametr() ? Пальцем в небо)
Это потом
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37759998
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ccoder, посмотри внизу тут может поможет
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760004
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmccoder, посмотри внизу тут может поможет
там тотже SQL, с которым у меня получается выполнить
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760023
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ccoder, "SELECT type, MAX(timestamp) AS MaxDateTime" - мне кажется это все неправильно! опять же через поля обьектов надо типа a.type, MAX (a.timestamp)
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760027
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GROUP BY a.type опять же
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760041
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
sessionFactory.getCurrentSession().createQuery(
				"FROM Health a "+
				"INNER JOIN "+
						"(SELECT a.type, MAX(a.timestamp) AS MaxDateTime FROM a WHERE a.patient.account.login='test@mail.com' " +
					    "AND a.patient.account.password='aaaa' " +
						"BY a.type) groupedtt " +
					    "ON a.type = groupedtt.type "+
						"AND a.timestamp = groupedtt.MaxDateTime " +			    
				"WHERE a.patient.account.login='test@mail.com' " +
			    "AND a.patient.account.password='aaaa' "
			    ).list()


авторorg.hibernate.hql.ast.QuerySyntaxException: unexpected token: ( near line 1, column 53
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760062
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT a.type, ... FROM a WHERE ... BY a.type

group by :)
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760079
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
sessionFactory.getCurrentSession().createQuery(
				"FROM Health a "+
				"INNER JOIN "+
						"(SELECT a.type, MAX(a.timestamp) AS MaxDateTime FROM a WHERE a.patient.account.login='test@mail.com' " +
					    "AND a.patient.account.password='aaaa' " +
						"GROUP BY a.type) groupedtt " +
					    "ON a.type = groupedtt.type "+
						"AND a.timestamp = groupedtt.MaxDateTime " +			    
				"WHERE a.patient.account.login='test@mail.com' " +
			    "AND a.patient.account.password='aaaa' "
			    ).list()


авторorg.hibernate.hql.ast.QuerySyntaxException: unexpected token: ( near line 1, column 53
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760100
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ccoder, попробуй вместо куска "GROUP BY a.type) groupedtt" кусок "GROUP BY a.type) as groupedtt"
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760105
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут накопал что в FROM такое дело в HQL нельзя писать. А где незнаю.....
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760110
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ccoder, отлично, можно посмотреть футбол!
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760141
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отсталось GROUP BY добить

Вот так работает (без)
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
sessionFactory.getCurrentSession().createQuery(
				"FROM Health a "+		    
				"WHERE a.patient.account.login='test@mail.com' " +
			    "AND a.patient.account.password='aaaa' " +
				
				"AND a.timestamp = (SELECT MAX(a.timestamp) FROM a WHERE a.patient.account.login='test@mail.com' " +
				"AND a.patient.account.password='aaaa')"
			    ).list()


а так нет
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
sessionFactory.getCurrentSession().createQuery(
				"FROM Health a "+		    
				"WHERE a.patient.account.login='test@mail.com' " +
			    "AND a.patient.account.password='aaaa' " +
				
				"AND a.timestamp = (SELECT MAX(a.timestamp) FROM a WHERE a.patient.account.login='test@mail.com' " +
				"AND a.patient.account.password='aaaa' GROUP BY a.type)"
			    ).list()


авторorg.hibernate.hql.ast.QuerySyntaxException: unexpected token: a near line 1, column 126
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760150
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ccoder, добавь в SELECT a.type
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37760151
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче ладно хватит...
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37766715
jab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Былобы просто написать .createSQLQuery("select...") и потом .setResultTransformer(Transformers.aliasToBean(MyEnt.class)) и не парить мозг с сложными запросами.
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37767505
AlexJm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jabБылобы просто написать .createSQLQuery("select...") и потом .setResultTransformer(Transformers.aliasToBean(MyEnt.class)) и не парить мозг с сложными запросами.

И что потом с этим добром делать? Просто показывать без возможности редактирования?
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37769604
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexJmjabБылобы просто написать .createSQLQuery("select...") и потом .setResultTransformer(Transformers.aliasToBean(MyEnt.class)) и не парить мозг с сложными запросами.

И что потом с этим добром делать? Просто показывать без возможности редактирования?

А как это влияет? В обоих вариантах вернется объект одного и того же типа.
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37769661
AlexJm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никAlexJmпропущено...


И что потом с этим добром делать? Просто показывать без возможности редактирования?

А как это влияет? В обоих вариантах вернется объект одного и того же типа.
Ну так поэтому и спросил - что с ним дальше-то делать?
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37772846
jab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А дальше есть в твоем DAO методы записи, в которые передаешь, то что надо записать. Одно другому не помеха.
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37773401
AlexJm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jabА дальше есть в твоем DAO методы записи, в которые передаешь, то что надо записать. Одно другому не помеха.
Просто не думал, что на полученной таким путем Entity merge будет работать. Однако работает :)
...
Рейтинг: 0 / 0
SQL запрос в HQL/Сriteria
    #37773519
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexJmjabА дальше есть в твоем DAO методы записи, в которые передаешь, то что надо записать. Одно другому не помеха.
Просто не думал, что на полученной таким путем Entity merge будет работать. Однако работает :)

Странно, вроде должно быть очевидно, что entityManager побоку на то как была создана сущность, главное чтобы она была аннтоирована @Entity - иначе как бы можно было сохранить новый объект?
...
Рейтинг: 0 / 0
25 сообщений из 75, страница 3 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / SQL запрос в HQL/Сriteria
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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