
Pavel
14.09.2016
17:15:35
скорее всего =)
какой импорт у session?

ThisIs
14.09.2016
17:15:50
import org.hibernate.SessionFactory;
import org.hibernate.SessionFactory;

Google

ThisIs
14.09.2016
17:16:08
lf [n, 5
да 5

Митко Соловец?
14.09.2016
17:16:51
https://docs.jboss.org/hibernate/orm/5.0/userguide/html_single/Hibernate_User_Guide.html#criteria
обновить код придется
походу они отказались от своих критериев в пользу JPA

ThisIs
14.09.2016
17:17:31
кажется пора на jpa переходить или spring data
У них же критерии то что надо было

Митко Соловец?
14.09.2016
17:20:00
Hibernate offers an older, legacy org.hibernate.Criteria API which should be considered deprecated. No feature development will target those APIs. Eventually, Hibernate-specific criteria features will be ported as extensions to the JPA javax.persistence.criteria.CriteriaQuery. For details on the org.hibernate.Criteria API, see Legacy Hibernate Criteria Queries.
все

ThisIs
14.09.2016
17:21:01
http://www.netlore.ru/upload/files/68338/p19d7nh1hm1i37tnuim11ebqo5c1.jpg


Митко Соловец?
14.09.2016
17:25:12
страшный сон гуги
@NamedNativeQuery(
name = "find_person_with_phones_by_name",
query =
"SELECT " +
" pr.id AS \"pr.id\", " +
" pr.name AS \"pr.name\", " +
" pr.nickName AS \"pr.nickName\", " +
" pr.address AS \"pr.address\", " +
" pr.createdOn AS \"pr.createdOn\", " +
" pr.version AS \"pr.version\", " +
" ph.id AS \"ph.id\", " +
" ph.person_id AS \"ph.person_id\", " +
" ph.phone_number AS \"ph.phone_number\", " +
" ph.type AS \"ph.type\" " +
"FROM person pr " +
"JOIN phone ph ON pr.id = ph.person_id " +
"WHERE pr.name LIKE :name",
resultSetMapping = "person_with_phones"
)
@SqlResultSetMapping(
name = "person_with_phones",
entities = {
@EntityResult(
entityClass = Person.class,
fields = {
@FieldResult( name = "id", column = "pr.id" ),
@FieldResult( name = "name", column = "pr.name" ),
@FieldResult( name = "nickName", column = "pr.nickName" ),
@FieldResult( name = "address", column = "pr.address" ),
@FieldResult( name = "createdOn", column = "pr.createdOn" ),
@FieldResult( name = "version", column = "pr.version" ),
}
),
@EntityResult(
entityClass = Phone.class,
fields = {
@FieldResult( name = "id", column = "ph.id" ),
@FieldResult( name = "person", column = "ph.person_id" ),
@FieldResult( name = "number", column = "ph.number" ),
@FieldResult( name = "type", column = "ph.type" ),
}
)
}
),


Pavel
14.09.2016
17:25:36
это новое?

Google

Митко Соловец?
14.09.2016
17:25:44
да, из доки хибера

Pavel
14.09.2016
17:25:46
или jpa?
неужели это возможность сущности не полностью грузить
ааа
збс))

Митко Соловец?
14.09.2016
17:26:57
http://stackoverflow.com/questions/38448195/why-is-criteria-query-deprecated-in-hibernate-5


Берял
14.09.2016
17:27:48
@NamedNativeQuery(
name = "find_person_with_phones_by_name",
query =
"SELECT " +
" pr.id AS \"pr.id\", " +
" pr.name AS \"pr.name\", " +
" pr.nickName AS \"pr.nickName\", " +
" pr.address AS \"pr.address\", " +
" pr.createdOn AS \"pr.createdOn\", " +
" pr.version AS \"pr.version\", " +
" ph.id AS \"ph.id\", " +
" ph.person_id AS \"ph.person_id\", " +
" ph.phone_number AS \"ph.phone_number\", " +
" ph.type AS \"ph.type\" " +
"FROM person pr " +
"JOIN phone ph ON pr.id = ph.person_id " +
"WHERE pr.name LIKE :name",
resultSetMapping = "person_with_phones"
)
@SqlResultSetMapping(
name = "person_with_phones",
entities = {
@EntityResult(
entityClass = Person.class,
fields = {
@FieldResult( name = "id", column = "pr.id" ),
@FieldResult( name = "name", column = "pr.name" ),
@FieldResult( name = "nickName", column = "pr.nickName" ),
@FieldResult( name = "address", column = "pr.address" ),
@FieldResult( name = "createdOn", column = "pr.createdOn" ),
@FieldResult( name = "version", column = "pr.version" ),
}
),
@EntityResult(
entityClass = Phone.class,
fields = {
@FieldResult( name = "id", column = "ph.id" ),
@FieldResult( name = "person", column = "ph.person_id" ),
@FieldResult( name = "number", column = "ph.number" ),
@FieldResult( name = "type", column = "ph.type" ),
}
)
}
),
как же отвратительно выглядит
эта джава


Митко Соловец?
14.09.2016
17:27:59
божественный код
тот самый энтерпрайз

ThisIs
14.09.2016
17:29:21
думаю все это лучше будет xml перенести

Берял
14.09.2016
17:30:30
после такого дао начинает казаться хорошим паттерном
особенно когда скл выносишь их кода

ThisIs
14.09.2016
17:30:54
как то стремно смотреть сущности наполненные аннотациями

Митко Соловец?
14.09.2016
17:31:23
да ладно вам, это просто кусок кода со специфичным кейсом
натив квэри можно не задавать, а маппить в дто и мапперах
просто позабавило

Igorek
14.09.2016
17:35:17
Так че - queryDsl не стоит юзать? Надо jpa?

Pavel
14.09.2016
17:37:14
jpa ftw
а то вечно - hibernate Знаешь ? а jpa?

Google

Viacheslav
14.09.2016
17:45:06
Jooq прекрасен, после него хибернейт просто ад.
QueryDsl тоже не плох

Митко Соловец?
14.09.2016
17:45:38
не припомню, чтобы жук умел в маппинг)

Viacheslav
14.09.2016
17:46:03
И туда и обратно и сверху вниз умеет
И даже жпашное умеет превращать в конфетку

Luger
14.09.2016
17:46:42

Митко Соловец?
14.09.2016
17:46:50
т.е. ему не нужен провайдер?
он сам маппит?
и каким образом?
я думал это обертка над орм

Viacheslav
14.09.2016
17:47:45
Что такое провайдер? Жук более легковесный чем жпа

Митко Соловец?
14.09.2016
17:47:54
например Hibernate

Митко Соловец?
14.09.2016
17:47:58
JPA-провайдер
или OpenJPA
а уж жук, как квэри апи

Viacheslav
14.09.2016
17:48:23
Он и есть провайдер
Там спека не отделена от кода
Ее там нет

Митко Соловец?
14.09.2016
17:49:30
окей, давай без всякой занудской херни, как маппится сущность на таблицу? или маппится только резалт сет на поджик?

Yan?
14.09.2016
17:49:48
вкиньте доки по жуку

Google

Митко Соловец?
14.09.2016
17:49:54
я уже читаю
и что-то не нахожу

sss3 ?
14.09.2016
17:53:18

Митко Соловец?
14.09.2016
17:53:38
и с ней уже работаешь?

sss3 ?
14.09.2016
17:53:46
агась

Viacheslav
14.09.2016
17:53:58
Несколько вариантов есть: в рекорд, в пожо, в жпа сущность, свой маппер

Митко Соловец?
14.09.2016
17:53:59
понял, а под генерацией ты кодогенерацию имеешь в виду?

sss3 ?
14.09.2016
17:54:08
yeap

Митко Соловец?
14.09.2016
17:54:27
понял, мне, если честно больше понравился вариант QueryDSL+JPA

Admin
ERROR: S client not available

ThisIs
14.09.2016
17:54:35
есть такое генерация таблицы из сущности?

Митко Соловец?
14.09.2016
17:54:43
ну это все вкусовщина

sss3 ?
14.09.2016
17:54:45
мне нравится натив sql :)

Митко Соловец?
14.09.2016
17:54:56
задолбаешься конкатенировать

sss3 ?
14.09.2016
17:55:17
я на работе написал шаблонизатор
для таких целей)

ThisIs
14.09.2016
17:55:20

Митко Соловец?
14.09.2016
17:55:33
я бы не писал кастом, а взял готовое)

Google

sss3 ?
14.09.2016
17:55:52
ну нам надо было легковесный вариант
мы просто обернули sql синтаксис

Митко Соловец?
14.09.2016
17:57:35
тут еще такой вопрос, а кто из этих ребят умеет лямбды?

Viacheslav
14.09.2016
17:57:41
Все что умеет хибер умеет и жук без ненужного говна типа лэйзи коллекций. По мощности составления запросов жпа сосет
Это если кратко

Митко Соловец?
14.09.2016
17:58:03
мне проще работать с поджиком как с таблицей

sss3 ?
14.09.2016
17:58:05
а почему лези стали говном?)

Митко Соловец?
14.09.2016
17:58:11
хибер в этом плане попизже

sss3 ?
14.09.2016
17:58:37
я считал что лэзи главный плюс хибера

Viacheslav
14.09.2016
17:58:37

sss3 ?
14.09.2016
17:58:44
а тут вдруг они говно :)

Митко Соловец?
14.09.2016
17:58:50
ну а для запросов, да, теперь критерии сложные стали
квэри диэсэль нормуль

Viacheslav
14.09.2016
17:59:26
Квери почти тоже самое что жук

Nikolay
14.09.2016
17:59:39

Viacheslav
14.09.2016
17:59:50
По ништячности всмысле

sss3 ?
14.09.2016
17:59:54
баги с чем?

Митко Соловец?
14.09.2016
18:00:01
короче, у кого лямбды, тот и прав
но я их не вижу

sss3 ?
14.09.2016
18:00:21
таки лямбды это же сахар в java :)

Митко Соловец?
14.09.2016
18:00:26
даже этого нет