|
|
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
собственно вопрос то в следующем: создал значит пул соединений к БД (прописал в /META-INF/context.txt) пул работает все прекрасно, в ручную все хорошо пускает все пашет selectы идут, но вот подружить его с Hibernate ну никак не получается собственно как делаю: создаю пул так Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. в Spring овом контейнере делаю бин и настройку так: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. в самом hibernate.cfg.xml прописал 2 класса (там простые сущность для теста id и name вытаскиваю по load(className.class, 1) ) при попытке что-то получить попадает NullPointerException в логе на уровне INFO тишь да гладь на уровне DEBUG жуть ( если надо то выложу ) смотрю в логе когда идет попытка получить что-то из БД нету SQL запроса т.е. sessionFactory видать не создался куда хоть рыть? в логе есть пара таких вот строк: Not binding SessionFactory to JNDI, no JNDI name configured Instantiated session factory но я так понимаю что Session factory == null .... может я как-то криво настроил Hibernate ? (версия 4.1.4.Final ) или в Spring ? (version 3.1.1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 16:24:16 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338, Посмотрите в jmx tomcat'a какие пулы он создал(создал ли) и их jndi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 17:10:41 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Да, а Sybase драйвер вы положили в lib? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 17:11:31 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
ТимоН, обижаете уважаемый =) конечно положил и на счет JNDI я ж написал что мимо томката через java/env/jdbc/Sybase ходит => получается что все созданно да и Spring про отсутствие Jndi молчать не будет.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 17:25:46 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338, а так Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 17:32:08 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Лагман, а так долго и громко ругается что нету JNDI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 17:57:40 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
а так? Код: xml 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 22:21:13 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, таже беда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 07:09:23 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Лагман, кстати так он не сругался, я оказывается уже закоментил его в context =) но ошибку выдает и опятьже повторюсь, дело не в JNDI !! либо где-то глубоко в нем сам он РАБОТАЕТ, не работает Hibernate.... с ним необходимо бороться! с ним =) потому как мимо JNDI ходит отлично к БД но я хочу юзать именно DBCP (конечно можно настроить и c3p0, но блин зачем козе баян) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 07:14:03 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
может быть конечно тут ошибка???? ???? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 07:40:29 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338может быть конечно тут ошибка???? ???? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. а весь класс целиком? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 09:32:08 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
grasoff.net, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 09:38:05 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
grasoff.net, а это spring-context.xml все кроме описания beans а то там много всего =) Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 09:40:43 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
в спирнге немного ошибся там вместо <property name="dataSource" ref="dS" /> <property name="dataSource" ref="dataSource" /> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 09:51:03 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
попробовал изолировать проблему, а точнее убрал Spring из проекта (благо тока учебный проект 3 строки =) ) прописал конфиг hibernate (правдо подключение создавал не пулом) и Hibernate заработал, вернул запись и все такое т.е. что-то в конфиге Spring не пашет, вопрос почему? и где косяк, ведь все создается без ошибок но sessionFactory пуст... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 10:46:11 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
В web.xml прописали DataSource? Код: xml 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 11:12:16 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да прописан Код: xml 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 11:17:43 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Почитайте в логе как создаётся UserDAO. Там должно быть написано почему sessionFactory не заинжектилась. Давайте, в общем, лог посмотрим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 11:33:50 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, собственно выкладываю лог, там ошибок нету..... (уровень лога установлен Debug ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 11:49:00 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Всё нормально, вроде. Где происходит NPE? В дебаге смотрели что там sessionFactory null? Как и куда инжектили сам UserDAO? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 11:54:33 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да в дебаге смотрю, NPE происходит когда я в фильтре вызываю такой вот код: Код: java 1. собственно тут и происходит NPE... что делать тут я не пойму =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 12:05:47 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, слово инжектили я не понял =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 12:07:46 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
LOL Я, конечно, подозревал что дело в этом. Но не думал что это окажется правдой. Когда вы создаёте новый экземпляр UserDaoImpl, спринг о нём ничего не знает и инжектить туда ничего не собирается. Вам нужно UserDAO получить из спрингового котекста. В идеале, чтобы Spring сам заинжектил его куда нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 12:08:07 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338слово инжектили я не понял =) Ну, тогда отложите в стороку код, который вы где-то накопали. И гуглите статьи на тему что такое Dependency Injection вообще и зачем он нужен. Вы у себя в фильтре начинаете управлять жизненым циклом UserDAO, это именно то с чем борется DI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 12:10:05 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, все понял =) я тут просто проекти этот писал изначально без спринга ваще.... (ну не знал я как его туда применить) и работал напрямую с Hibernate (удобная штука ваще много от много мороки избавляет), а теперь переделываю на RESTFull сервис (ну или точнее на его подобие) вот и подумал про Spring MVC, а если есть Spring MVC то без IoC скучно будет т.е. я сделал слои DAO, Domain а вот слой Service как бЭ позабыл =) вот и вышла ошибочка.... а так вообще спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 12:17:10 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
жесть жестяная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 12:35:26 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, логично однако =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 12:40:01 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338, эм а сейчас там мною любимая OutOfMemory когда пытается создать sessionFactory... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 12:48:25 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
PermGen Space ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 12:53:27 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ага ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 12:56:32 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338ага 1) -XX:MaxPermSize 2) Будать контейнер переодически вмето ре-деплоя на горячую. 3) Ну, и, совсем хардкор - найти чем ваше приложение приросло к томкату. В Tomcat 7 есть интсрументы и всяческие проверки, которые пишут, что именно в приложении утекло за пределы WebAppClassLoader и, соответственно, мешает выгрузить само приложение. Если утечек нет, а просто проект толстый, то увеличение MaxPermSize поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 13:00:54 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо ребут томката помог =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 13:04:26 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, а еще тогда вопрос на засыпку, как из фильтра обратиться к IoC контейнеру и получить какой-нить бин? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 13:06:44 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
многие любят получить ApplicationContext а из него бин по id. Но это будет подменой DI на Lookup. Можно вот так http://semikas.blogspot.com/2009/02/standard-injection-into-servletfilter.html А можно вместо фильтров интерцепторы всякие спринговые использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 13:15:18 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, интерцептор? что это? ??? какого... почему так всего то там много, хочу обратно перейти к asm =) блин все что я читал ни про какие интерцепторы ниче не говорили.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 13:23:29 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, раз уж зашла такая пляска, и тут явно опытный человек =) надо кое о чем поспрашать: 1) как через Spring работать с JSON и XML 2) ежели я хочу сделать фильтр для авторизации и в зависимости от запроса разрешать/запретить действия то как из него правильней будет обращаться к Spring IoC (или как правильней это сделать, возможно SpringSecurity или что-то еще) собственно пока что все... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 13:44:32 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
323381) как через Spring работать с JSON и XML Spring MVC? Просто соответствующий View указываете. Гугл-> Spring MVC Json выдаст вам кучу примеров. 323382) ежели я хочу сделать фильтр для авторизации и в зависимости от запроса разрешать/запретить действия то как из него правильней будет обращаться к Spring IoC (или как правильней это сделать, возможно SpringSecurity или что-то еще) Spring Security ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 13:50:58 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, а где взять НОРМАЛЬНУЮ понятную (желательно по человечески) написанную доку на русском про Spring IoC а то все равно нифига не работает через него и теперь в голове большая каша =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 14:45:17 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338на русском Избавьтесь от предрассудков и читайте официальную доку. Она простая, понятная и рассматривает все вопросы, причем не углубляясь в детали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 14:51:00 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, хорошо попробую, но каша в голове все еще есть... и вопрос у меня такой вот возник. а можно ли сделать так: Код: java 1. 2. т.е. в зависимости от имени вызывать какой-нить класс обработчик который будет возврящять то что он умеет? или придется писать для каждого класса свой контроллер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 14:56:10 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338т.е. в зависимости от имени вызывать какой-нить класс обработчик который будет возврящять то что он умеет? или придется писать для каждого класса свой контроллер? Можно. Стоит попробовать реализовать Generic method в этом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 14:58:49 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, а если я заранее вообще не знаю что мне будет возвращяться в принципе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 15:03:10 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338а если я заранее вообще не знаю что мне будет возвращяться в принципе? Метод getBook "возвращ я ет" не известно что? Ну, можно, конечно, и так, если острая нужда имеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 15:06:23 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, вы меня не совсем поняли, я хочу сделать примерно так: что бы каждый раз не переписывать контроллер, я хочу его написать один раз, а классы которые будут что-то возвращять из него вызывать (по имени к примеру через Class.forName(имя класса) и т.д.) т.е. у меня задача типа книжный магазин RestFull тут я могу получать данные по клиенту т.е. /client по книге т.е. /book по продавцам т.е. /manager каждый из ответов в виде XML или JSON в зависимости что попросил клиент => сейчас я знаю какие типы я могу вернуть, но так же мне хочется расширять и далее без переписи контроллеров, банально создав всю нижнею инфраструктуру не добавляя контроллеров, это как-то можно реализовать? или надо писать для каждой сущность свой отдельный контроллер (или расширять уже имеющийся)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 15:19:50 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
В этом случае у вас результатом будет что-то типа Entity или DTO. Т.е. имеет смысл ограничить на всякий случай. А так да. Взяли сессию, сделали find - и вернули. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 15:26:01 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я тут это все доделал, только вот одна загвоздка, при старте не стартует сессия Hibernate и если вызывать getCurrentSession() попадаем на NPE а если делать openSession() то естественно растут подключения к БД с каждым запросом, как этого избежать? может что в конфиге криво? Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 08:09:58 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, и еще один вопрос к вам как к великому, @RequestMapping(value="/client", method= RequestMethod.GET) public @ResponseBody String getPayer(@RequestParam String args){ return args; } я просто хочу вернуть строку, когда на инглише то все ОК, но вместо русских выдает ???? что я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 10:17:55 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
блин и что никто не может мне подсказать почему метод sessionFactory.getCurrentSession() - возвращает пустую сессию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 13:42:09 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338блин и что никто не может мне подсказать почему метод sessionFactory.getCurrentSession() - возвращает пустую сессию? мы уже просто боимся делать предположения, потому что у тебя с таким успехом может быть все что угодно. ты уже debug освоил? подключаются сорцы спринга и вперед - смотришь что и почему. кстати я бы не трогал hibernate4, поддержка его в спринге была стремная, когда я в последний раз смотрел, я это было недавно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 13:59:13 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, соглашусь может быть все что угодно =) т.е. вы предлагаете перейти на hibernate 3 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 14:19:42 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338т.е. вы предлагаете перейти на hibernate 3 ? это совет между прочим, безотносительно к проблеме. основная идея - воспользоваться дебагом и посмотреть, почему getCurrentSession возвращает null. я боюсь делать предположения, но одно сделаю: метод в котором вызывается getCurrentSession имеет аннотацию Transactional? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 14:28:35 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, имеет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 14:35:20 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, чуть не забыл пишет вот что: ERROR - could not initialize proxy - no Session org.hibernate.LazyInitializationException: could not initialize proxy - no Session ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 14:38:42 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338чуть не забыл пишет вот что: ERROR - could not initialize proxy - no Session org.hibernate.LazyInitializationException: could not initialize proxy - no Session ты жжешь напалмом. это совсем другая ошибка. у тебя в классе есть lazy поле, к которому ты обращаешься, когда сессия уже закрыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 14:40:14 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, это появилось когда я пересобрал проект с 0.... хз что там было =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 14:42:30 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, все связи у меня определены FetchType.EAGER какое нафиг LAZY поле.... ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 14:46:18 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338chpasha, какое нафиг LAZY поле.... ??? такое нафиг. IDE твой друг, так сложно найти место, на котором ошибка возникает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 14:48:11 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
непонятно где и что искать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 14:53:46 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338непонятно где и что искать stacktrace смотреть. откуда вылетает? может там коллекция ленивая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 14:58:55 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338я тут это все доделал, только вот одна загвоздка, при старте не стартует сессия Hibernate и если вызывать getCurrentSession() попадаем на NPE а если делать openSession() то естественно растут подключения к БД с каждым запросом, как этого избежать? может что в конфиге криво? Странно. А через HibernateTemplate? Хотя вроде в последнем Spring как раз пошли на уступки Кингу и отказались от использования HibernateTemplate. Посмотрите тут http://forum.springsource.org/archive/index.php/t-66873.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 15:02:17 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Всех хочу поблагодарить что наставили на путь истинный и послали читать доки =) собственно начал потихоньку въезжать. в эту святую троицу Spring MVC + Hibernate + Tomcat DBCP =) заработали простые примеры некоторые (хотя некоторые аннотации и до сих пор остаются для меня загадкой =) я уже многое почерпнул =) но вот в поисках истинны наткнулся на очень интересную статью про слой DAO: про то как не следует повторять DAO мне очень понравился подход с CRUD (пример в статье, я думаю он будет не нов для всех здешних обитателей) но вот как его прикрутить с аннотациями пока не понимаю, может кто подскажет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 14:24:47 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338но вот как его прикрутить с аннотациями пока не понимаю, может кто подскажет? Аннотации это метаданные. Они перпендекулярны самим классам. Не понятно как эти DAO инжектить, или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 14:31:16 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, непонятно как вот его потом такой вот вызывать: GenericDaoHibernateImpl<T, PK extends Serializable> implements GenericDao<T, PK>, FinderExecutor т.е. на сколько я понял мне его надо вызвать типа GenericDaoHibernate<Person, Integer> person = GenericDaoHibernate<Person, Integer>(); дк вот это же не хочется писать руками, для этого и нужен Spring вот как это описать не в XML (это понятно из статейки) а в аннотациях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 14:45:44 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Во-первых, в большинстве случаев, некий специфический код нужен каждой сущности, поэтому будет много классов вида PersonDAO extends GenericDaoHibernateImpl<Person, Long> Во-вторых генерики в Java работаеют во время компиляции. Поэтому если написать private GenericDaoHibernateImpl<Person, Long> personDao; то Spring без проблем туда заинжектит то что нужно - <bean id="personDao" parent="abstractDao"> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 14:54:21 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ага спасибо, так стало яснее =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 14:59:04 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, эх блин как же все круто оказывается в Java когда начинаешь понимать =) это те не легаси проект на Delphi 3 написанный так что хрен чего найдешь без пол литра ( а то и целый литр минимум ) СПАСИБО! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 15:02:13 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
наверное вопрос покажется весьма банальным, но есть у меня класс сущность что-то типа этого Код: java 1. 2. 3. 4. 5. 6. 7. дк вот на основании этого класса я генерирую XML и JSON через Spring MVC (блин круть какая, работает без единой строчки кода, чисто аннотации) дк вот когда я не хочу что бы какое-нить поле попадало в JSON я ставлю аннотацию @JsonIgnore, а есть ли что-то такое же для XML? использую JAXB в дока ничего не нашел подобного =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 13:21:18 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338использую JAXB в дока ничего не нашел подобного =( JAXB ведь маппит свойства на XML через аннотации. Нет маппинга, нет XML. Вопрос не понятен. Точно именно JAXB используется? И как именно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 13:24:32 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ну как сказать, на прямую я вообще ничего не трогаю, для этого есть Spring а так стоят аннотации от JAXB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 13:37:19 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338а так стоят аннотации от JAXB Убрать лишние рука не подымается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 13:40:41 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, дк по дефолту все не Null поля записываются в XML а мне бы не хотелось отдавать некоторые "сервисные" поля конечному пользователю, а с ними работаю в сервис слое, так что убрать их никак не получается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 13:45:18 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338дк по дефолту все не Null поля записываются в XML а мне бы не хотелось отдавать некоторые "сервисные" поля конечному пользователю, а с ними работаю в сервис слое, так что убрать их никак не получается... http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/XmlTransient.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 14:16:31 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо, просто для тех кому будет инетерсно эту аннотацию надо ставить перед МЕТОДОМ геттером, а не как я ставил перед описанием переменной (или свойством объекта, кому как нравиться)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 14:31:59 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338спасибо, просто для тех кому будет инетерсно эту аннотацию надо ставить перед МЕТОДОМ геттером, а не как я ставил перед описанием переменной (или свойством объекта, кому как нравиться)... Во-первых не перед "описанием переменной", а перед "объявлением поля". Поле это не свойство. Возможно у вас именование где-то нарушено, поэтому JAXB поле не ассоциирует со свойством. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 14:34:47 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, блин реально перепутал, свойство = состояние описание переменной = объявление поля на сколько я помню из курса ООП у объектов есть состояния (это как раз таки переменные они же поля) и методы выполняющие некоторые действия над состояниями вроде так все всегда было, а на счет теории спасибо за поправку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 14:49:32 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
а тут я еще добавлю, на счет куда ставить аннотации: есть такая аннотация @XmlAccessorType по умолчанию она равна PUBLIC_MEMBER, что значит смотреть на публичные поля, ежели ее поставить как XmlAccessType.FIELD то аннотации можно ставить над полями блин документацию надо читать было с самого начала =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 15:54:40 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338свойство = состояние Состояния здесь вообще не при чем. Свойства это такие поля, которые обладают полиморфизимом. В Java поля не обладают полиморфизмом. А обладают полиморфизмом только методы (не помню про вложеные классы). Поэтому свойства реализованы через методы. 32338на сколько я помню из курса ООП у объектов есть состояния (это как раз таки переменные они же поля) и методы выполняющие некоторые действия над состояниями Ммм... это излишне абстрактно и к теме отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 16:00:12 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да тут уже давно мало что к теме относиться =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 16:01:20 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338PUBLIC_MEMBER, что значит смотреть на публичные поля MEMBER это не "поле". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 16:03:57 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ну плохо у меня еще с инглишом.... =) ну что поделаешь "я не волшебник я только учусь..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 16:15:05 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, тут у меня еще один вопрос возник, когда я делал проект на локальной машине, то через NetBeans деплоил его на локальный Томкат, сейчас Томкат переехал на другую машину и деплой делаю через веб морду, и получается что url стал = имени war файла хотя в context.xml прописанно Код: xml 1. или надо что-то другое указать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2012, 16:23:36 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
блин все равно никак не пойму что делать с ошибкой org.hibernate.LazyInitializationException: could not initialize proxy - no Session моя сущность Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. в DAO Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. в сервис-слое Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. все это вызывается из контроллера Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 13:25:56 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
exception где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 13:30:20 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, а как отследить я не пойму никак... просто сущность пустая а значение в БД есть в логе вот эта строка и еще куча, как отследить? точки останова ничего не дают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 13:40:10 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338Blazkowicz, а как отследить я не пойму никак... просто сущность пустая а значение в БД есть в логе вот эта строка и еще куча, как отследить? точки останова ничего не дают...Ну вы можете остановиться у себя в коде на вызове сервиса? Остановитесь там, и пройдитесь по шагам. Наткнетесь на Lazy-exception, сразу же поймете, что к чему. Если не можете вообще понять откуда оно идет, тогда ставьте брейкпоинт на самом эксепшне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 13:46:28 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
svenom, дк как бы сказать то, все прошол никаких exeption не получил, но к БД я не ходил с запросом (это в логе видно) и моя сущность абсолютно пустая это если использовать метод load если использовать метод get то все ОК сущность заполняется че делать? O_o ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 13:49:07 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338 что делать с ошибкой org.hibernate.LazyInitializationException: could not initialize proxy - no Session 32338 все прошол никаких exeption не получил Вы между собой договоритесь сначала есть исключнение или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 14:12:43 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, наверное, я мега крутой прогер :D да и объясняю через раз нормально :D наверное лучше кусочеГ лога дать, что бы стало хоть чуточку понятней и теперь я понимаю почему get работает а load нет =) get не использует прокси.... а вот почему он не создался вопрос... 05.07.2012 15:41:30 DEBUG - DispatcherServlet with name 'dispatcher' processing GET request for [/payoffice/space] 05.07.2012 15:41:30 DEBUG - Looking up handler method for path /space 05.07.2012 15:41:30 DEBUG - Returning handler method [public ru.home.homeWork.domain.Space ru.home.homeWork.web.SpaceController.getSpace(java.lang.Integer)] 05.07.2012 15:41:30 DEBUG - Returning cached instance of singleton bean 'spaceController' 05.07.2012 15:41:30 DEBUG - Last-Modified value for [/payoffice/space] is: -1 05.07.2012 15:41:30 DEBUG - Returning cached instance of singleton bean 'transactionManager' 05.07.2012 15:41:30 DEBUG - Creating new transaction with name [ru.home.homeWork.service.impl.SpaceServiceImpl.getById]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; '' 05.07.2012 15:41:30 DEBUG - Opened session at timestamp: 13414812902 05.07.2012 15:41:30 DEBUG - Opened new Session [SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] collectionRemovals=[] collectionUpdates=[] unresolvedInsertDependencies=UnresolvedEntityInsertActions[]])] for Hibernate transaction 05.07.2012 15:41:30 DEBUG - Preparing JDBC Connection of Hibernate Session [SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] collectionRemovals=[] collectionUpdates=[] unresolvedInsertDependencies=UnresolvedEntityInsertActions[]])] 05.07.2012 15:41:30 DEBUG - begin 05.07.2012 15:41:30 DEBUG - Obtaining JDBC connection 05.07.2012 15:41:30 DEBUG - Obtained JDBC connection 05.07.2012 15:41:30 DEBUG - initial autocommit status: true 05.07.2012 15:41:30 DEBUG - disabling autocommit 05.07.2012 15:41:30 DEBUG - Exposing Hibernate transaction as JDBC transaction [org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler@16b2cba[valid=true]] 05.07.2012 15:42:38 DEBUG - Initiating transaction commit 05.07.2012 15:42:38 DEBUG - Committing Hibernate transaction on Session [SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] collectionRemovals=[] collectionUpdates=[] unresolvedInsertDependencies=UnresolvedEntityInsertActions[]])] 05.07.2012 15:42:38 DEBUG - committing 05.07.2012 15:42:38 DEBUG - committed JDBC Connection 05.07.2012 15:42:38 DEBUG - re-enabling autocommit 05.07.2012 15:42:38 DEBUG - Closing Hibernate Session [SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] collectionRemovals=[] collectionUpdates=[] unresolvedInsertDependencies=UnresolvedEntityInsertActions[]])] after transaction 05.07.2012 15:42:38 DEBUG - Releasing JDBC connection 05.07.2012 15:42:38 DEBUG - Released JDBC connection 05.07.2012 15:42:38 DEBUG - HHH000163: Logical connection releasing its physical connection 05.07.2012 15:42:38 DEBUG - HHH000163: Logical connection releasing its physical connection 05.07.2012 15:42:38 DEBUG - HHH000163: Logical connection releasing its physical connection 05.07.2012 15:43:08 DEBUG - Resolving exception from handler [public ru.home.homeWork.domain.Space ru.home.homeWork.web.SpaceController.getSpace(java.lang.Integer)]: org.hibernate.LazyInitializationException: could not initialize proxy - no Session 05.07.2012 15:43:08 DEBUG - Resolving exception from handler [public ru.home.homeWork.domain.Space ru.home.homeWork.web.SpaceController.getSpace(java.lang.Integer)]: org.hibernate.LazyInitializationException: could not initialize proxy - no Session 05.07.2012 15:43:08 DEBUG - Resolving exception from handler [public ru.home.homeWork.domain.Space ru.home.homeWork.web.SpaceController.getSpace(java.lang.Integer)]: org.hibernate.LazyInitializationException: could not initialize proxy - no Session 05.07.2012 15:43:08 DEBUG - Could not complete request org.hibernate.LazyInitializationException: could not initialize proxy - no Session at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:149) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:195) at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185) at ru.home.homeWork.domain.Space_$$_javassist_0.getId(Space_$$_javassist_0.java) at ru.home.homeWork.domain.Space$JaxbAccessorM_getId_setId_java_lang_Integer.get(MethodAccessor_Ref.java:41) at com.sun.xml.internal.bind.v2.runtime.reflect.Accessor.getUnadapted(Accessor.java:132) at com.sun.xml.internal.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.hasValue(TransducedAccessor.java:236) at com.sun.xml.internal.bind.v2.runtime.property.SingleElementLeafProperty.serializeBody(SingleElementLeafProperty.java:90) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:341) at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:582) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:323) at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:483) at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:308) at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:236) at org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter.writeToResult(Jaxb2RootElementHttpMessageConverter.java:96) at org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter.writeInternal(AbstractXmlHttpMessageConverter.java:66) at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:179) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:137) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:81) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:94) at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:74) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 14:23:40 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Остаётся открытым вопрос нужны ли вам прокси. Выше вы написали что не нужны. Но откуда у вас тогда взялся инструментированый через javassist класс? Ведь это только в билд-скрипте прописывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 14:32:17 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я такого не писал что он мне не нужен, просто без него работает =) авторНо откуда у вас тогда взялся инструментированый через javassist класс? Ведь это только в билд-скрипте прописывается. меня этот вопрос тоже заинтересовал =) для сборки проекта я использую Apache maven 3.0.4 а вообще работаю в NetBeans 7.1.2 все классы создавал ручками... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 14:45:07 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, и как искоренить это неистовое зло меня тоже интересует... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 14:51:54 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338я такого не писал что он мне не нужен, просто без него работает =) 32338все связи у меня определены FetchType.EAGER какое нафиг LAZY поле.... ??? Если все связи EAGER, то и прокси, ведь, не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 14:52:20 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338и как искоренить это неистовое зло меня тоже интересует... Его нужно не искоренить, а понять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 14:52:47 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338меня этот вопрос тоже заинтересовал =) для сборки проекта я использую Apache maven 3.0.4 а вообще работаю в NetBeans 7.1.2 все классы создавал ручками... Да, что-то я провтыкал. У нас везде get используется. Поэтому прокси не возвращаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 15:00:15 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, это конечно да но все ж впереджи, я только начал копаться в этом =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 15:03:54 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338это конечно да но все ж впереджи, я только начал копаться в этом =) В JavaDoc же сказано, что load() не вычитывает объекта из базы, а создаёт прокси поверх id, предполагая что такой объект есть в базе, раз уж вы его id используете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 15:05:36 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338, не все пора завязывать на сегодня я уже просто нифига не понимаю..... пишу и читаю всякую хрень так что да простят меня БОГИ =) пойду я куда-нить где прохладно и нету монитора с интернетом.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 15:09:05 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, тут я вот все таки завершил работу над одной из сцщностей своего RESTful сервера а все таки как сделать что бы допустим в одном war файле лежало все необходимое для одной ссылки (exp: /client), а в другом все что нужно для другой ссылки (exp: /manager) ведь в моем случае они вообще не пересекаются, а хранить все в одном архиве, получается тяжело искать что надо, а так понятней что все что надо /manager в том архиве да и при необходимости поменять его там что бы можно было, это ведь только через OSGi возможно? или нет? или же все делают пакет manager и в нем все слои и пакеты потом еще пакет client и т.д.? как правильней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 12:41:43 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
если нужно разбить на war модули - смело объем, если они друг с другом не общаются. если они друго от друга зависят, то возникает логичный вопрос, а зачем мы их разбили если независимые модули живут на одном сервере и имеют общий код, то можно их упаковать в ear. А общие классы унести на уровень ear. Адреса, ссылки и url теме компановки модулей перпендикулярны. Всё настраивается и реализуется под любые нужные URL. Замена на горячую в продакшне не нужна. В девелопменте используется Hotswap, JavaRebel. Ещё сервера сами умеют на горячую код подменять без редеплоя. Но не все и не всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 12:54:54 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, эм возникает логичный вопрос, а как с этим всем разделенным должен работать спринг? ну т.е. я использую у себя в проекте MVC что бы генерить ответ да и кучу всего делать (удобная штука короче) сейчас я сделал все в одном war файле, как мне его разбить на части, т.е отделать сущность manager от client и все чтобы когда я собираю деплоилось к одному url /payoffice ? я просто в этом деле впервые, а сообразить что и где почитать не пойму, подскажите пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 13:02:06 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Не стоит делить на модули только для того чтобы поменять URL. Это две независимые проблемы. Модули нужны чтобы изолировать друг от друга независимый код. Т.е. если у вас каша, то со временем между модулями появляются зависимости которых вы не хотели иметь, например если модули должны быть разнесены физически. URL настраивается кучей способов. Самый простой - обозвать модуль ROOT при деплое в Tomcat. И тогда имена контекстов не будут использовать в адресе. А остальное вы через Spring MVC контролируете. Второй способ это тоже самое, только делается через META-INF/Context.xml внутри war. Либо такой же Context.xml в конфигах Tomcat. Третий способ это оставить контекст как есть, но обернуть томкат в другой HTTP сервер Apache/nginx и с его помощью конверировать адреса в желаемые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 13:07:29 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, так я Вас понял, надо почитать про настройку context.xml, хорошо щя гляну если что спрошу =) Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 13:15:09 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да и вы правы, сейчас то уже получается каша из 10 классов, что же будет дальше.... авторесли независимые модули живут на одном сервере и имеют общий код, то можно их упаковать в ear. А общие классы унести на уровень ear. с ear не работал, и не знаю что это такое вообще (щя погуглю), а Томкат то это дело поймет? или придется что-то посерьезней ставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 13:21:41 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338с ear не работал, и не знаю что это такое вообще (щя погуглю), а Томкат то это дело поймет? или придется что-то посерьезней ставить? Tomcat не поймет. У него для общего кода есть common и shared. Хотя что-то с ними делали в последних версиях. Уже не помню что именно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 13:25:27 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, погодите, ведь получается в случае с ear это тот же war архив, который у меня сейчас есть, и не получится никакой горячей замены... т.е. "те же грабли вид с боку" а вот хочется как раз таки уйти от этих граблей т.е. app должно работать 24/7 и никак иначе, если отвалится один модуль, он не должен потянуть все остальные за собой.... получается что если я работаю с ear то не получится быстро без перезагрузки всего приложения локализовать и убрать проблему, что насколько я понял решается за счет OSGi сервера ? или я заблуждаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 13:38:07 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Вы 4 разных вопроса пытаетесь решить одной только упаковкой? URL 24х7 Замена на горячую Модульность Это 4 разных задачи и решаются они каждая своими способами и средствами. "Замена на горячую" никак не решает проблему 24х7. Вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 13:41:52 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, блин ну да получается что так =) блин получается что мне нужна модульность что бы можно было добавлять модули и удалять их без редеплоя всего приложения ( это можно решить я так понимаю war но тогда дублирование кода приведет к большой такой попе, при изменении структуры данных, да и развивать все это дело будет очень трудно, я же прав? ) но часть модулей будут связанные, другая часть же практически не будут иметь связи с окружающим миром за исплючением одного рутового URL подскажите как мне с этим всем поступить? я уже честно запутался что делать дальше.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 13:51:22 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да и связь только через базу данных (соответственно через доменный слой и DAO) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 13:57:08 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338блин получается что мне нужна модульность что бы можно было добавлять модули и удалять их без редеплоя всего приложения ( это можно решить я так понимаю war но тогда дублирование кода приведет к большой такой попе, при изменении структуры данных, да и развивать все это дело будет очень трудно, я же прав? ) Для начала определиться с целями. Особенно умиляет требование независимо деплоить модули, у которых общий код. У вас тогда будет цепная реакция. Нужно обновить модуль - ой, забыли обновить общий код - ой, не неработает второй модуль, потомучто обновили общий код. К 24х7 нельзя приблизится без резервного сервера. А если есть резервные сервер, то и модули деплоить на горячую смысла нет. В продвинутых серверах можно деплоить разные версии одного модуля. В этом случае Start\Stop занимает минимально время и переключиться на новую версию можно достаточно быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 14:00:02 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
BlazkowiczДля начала определиться с целями. Особенно умиляет требование независимо деплоить модули, у которых общий код. У вас тогда будет цепная реакция. Нужно обновить модуль - ой, забыли обновить общий код - ой, не не работает второй модуль, потому что обновили общий код. а я ведь даже об этом и не подумал.... про цепную реакцию так и вообще забыл =) эх придется наверное все делать в одном war файлике.... и забыть про красивое слово OSGi смысла бить тогда это все на разные war или же собирать в ear вообще нету... единственное что очень сильно напрягает дк это то что все будет в каше... а нельзя ли как-то куда-то вынести доменный слой с DAO в отдельный какой-нить модуль? и при изменении его все подтянется красиво и само по себе P.S. я наверное за эту неделю Вас очень сильно достал ? =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 14:09:07 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338а нельзя ли как-то куда-то вынести доменный слой с DAO в отдельный какой-нить модуль? и при изменении его все подтянется красиво и само по себе Тут еще вопрос, что понимать под модулем. Лично я под этим словом понимаю отдельный maven project. Делайте как можно проще. Это позволит вам сделать быстрый выход на рынок. Изначально все держите в одном war-нике. Если поймете, что нужен еще один war-ник (мало ли, решите разделить админку и клиентскую часть по разным контекстам), тогда выносите нужную функциональность в общий код и создаете модуль с еще одним war-ником. Все зависимости разруливаются maven'ом, каждый war-ник в libs/ включает нужные библиотеки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 14:14:06 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
[quot LeonidvЕсли поймете, что нужен еще один war-ник (мало ли, решите разделить админку и клиентскую часть по разным контекстам), тогда выносите нужную функциональность в общий модуль и создаете модуль с еще одним war-ником. Все зависимости разруливаются maven'ом, каждый war-ник в libs/ включает нужные библиотеки.[/quot] Так получается: core.jar - общие классы, модель и DAO. client.war зависит от core.jar admin.war зависит от core.jar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 14:15:35 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Leonidv, вот спасибо теперь стало более менее понятно что мне делать, только вот непонятно что будет если придется обновить core.war ... придется все модули пересобирать, которые зависят от куска который я перепишу? так получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 14:24:12 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
извиняюсь core.jar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 14:24:44 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338только вот непонятно что будет если придется обновить core.war ... придется все модули пересобирать, которые зависят от куска который я перепишу? так получается?Если не делать повреждения несовместимые с жизнью - ничего пересобирать не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2012, 19:25:15 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, спасибо за ответ хотя на следующее утро я своим маленьким умишком это уже понял, а на самый край есть и версии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2012, 15:48:42 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
у меня тут небольшой трабл случился com.sybase.jdbc3.utils.UnimplementedOperationException: The method com.sybase.jdbc3.jdbc.SybConnection.prepareStatement(String, int) has not been completed and should not be called. новый драйвер jconn4 не подходит, старая версия Sybase можно ли как-то это обойти? (ошибка при вставке данных в БД с update пока не пробовал, но удаляет корректно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2012, 15:51:24 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
все работает кроме метода sessionFactory.getCurrentSession().save(object); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2012, 16:08:07 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
com.sybase.jdbc3.utils.UnimplementedOperationException: The method com.sybase.jdbc3.jdbc.SybConnection.prepareStatement(String, int) has not been completed and should not be called. что никто никогда не сталкивался? и не знает как обойти это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 12:56:35 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338com.sybase.jdbc3.utils.UnimplementedOperationException: The method com.sybase.jdbc3.jdbc.SybConnection.prepareStatement(String, int) has not been completed and should not be called. что никто никогда не сталкивался? и не знает как обойти это? StackTrace покажи. Надо посмотреть какой именно JDBC метод к этому приводит и какой диалект в Hibernate используется. Если родными диалектами это не решается, можно расширить своей реализацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 13:02:06 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, диалект Sybase11Dialect на счет стек трейса, не знаю чем он Вам таким поможет... но вот: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 13:27:27 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
я уже не раз гуглил по этой теме и не получается ничего найти, кроме как перейди на jconn4 и все заработает, но jconn4 не работает с моей СУБД.... Sybase ASE 11.5 .......... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 13:36:46 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Т.е. autogenerated keys не поддерживается вообще? У вас ID другим образом генерятся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 13:43:07 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТ.е. autogenerated keys не поддерживается вообще? У вас ID другим образом генерятся? Вам драйвер явно сообщает что методы с autogenerated keys не поддерживаются, а вы все равно в хибере используете Identity ID. Надо как-то решать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 13:45:27 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, дк вот думал заставить Hibernate выполнить произвольный Insert а он все равно либо заполни id мне руками, либо excepion ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 13:46:55 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
BlazkowiczBlazkowiczТ.е. autogenerated keys не поддерживается вообще? У вас ID другим образом генерятся? Вам драйвер явно сообщает что методы с autogenerated keys не поддерживаются, а вы все равно в хибере используете Identity ID. Надо как-то решать. а где это вы увидели? O_o ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 13:47:48 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338а где это вы увидели? O_o http://docs.oracle.com/javase/6/docs/api/java/sql/Connection.html#prepareStatement%28java.lang.String,%20int%29 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 13:49:41 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, а предложения как это обойти? просто убрать @GeneratedValue() и ставить фиктивную idшку и прописать @SqlInsert ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 13:53:13 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338а предложения как это обойти? просто убрать @GeneratedValue() и ставить фиктивную idшку и прописать @SqlInsert ? база поддерживает GeneratedValue ? а драйвер? отнаследовать хиберовские классы и заменить методы на другие. ставить не "фиктивную idшку", а использовать другой метод получения ключей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 14:08:39 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, насколько мне известно из мануала по Sybase он генерит id-шники сам, но получить следующий у него нельзя... только после вставки можно получить уже готовый id к примеру: Код: sql 1. 2. но эм вставлять в поле ID которое является identity просто запрещено самим Sybase т.е. либо поле Identity и этим рулит Sybase либо поле ручного ввода, и этим рулит сам пользователь (что ни есть хорошо, так как последовательностей нету) вообщем и целом получается что надо использовать для вставки SQL так получается? если так то что будет если у меня используется в качестве менеджера транзакций Hibernate ? т.е. как поведет себя Connection Pool и не получится ли лишних коннектов к БД? P.S. использую аннотации @Transactional в спринговом конфиге написанно так: Код: xml 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 14:25:14 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Читайте исходники хибера, диалект и то что у вас в Stacktrace. Вам нужно научить его делать "select @@identity". Возможно хибер это уже умеет. нужно только найти где включить. И второе это обойти вызов именно того метода prepareStatement(). Опять же по stackatrаce найти где именно он вызывается и почему именно он, а не один из альтернативных. Посмотрите ещё что у вас вот этот метод возвращает http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/dialect/SybaseDialect.html#supportsInsertSelectIdentity%28%29 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 14:35:50 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЧитайте исходники хибера Код: java 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 14:48:05 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, мда никогда не думал, что для маленького RESTful сервера придется рыскать по исходникам Hibernate =) мне уже начальник говорит выкинь ты из проекат это гавно юзай Spring JDBC и не парься.... а я все мучаюсь и мучаюсь.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 14:48:33 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, это вот куда надо добавить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 14:50:39 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, а у меня в исходниках немножко не так: Код: java 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 15:05:43 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338а у меня в исходниках немножко не так: все так, ты другой кусок кода зацепил. много бед, один ответ - надо дебажить исходник и смотреть что не так. должно работать. з.ы. с хибернейтом (да и не только с ним) поначалу всегда так. тут как в мультфильме, "лучше день потерять, потом за 5 минут долетим". но потерять придется больше чем день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 15:24:08 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, там че-то совсем очень много всего.... эх придется убить пару недель наверное на это, главное потом что бы действительно "за 5 минут долететь", а то как-то много времени на это уйдет =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 15:39:02 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338chpasha, там че-то совсем очень много всего.... всего и не надо. как правило интересно либо место возникновения исключения либо то, что к этому вызову привело. но скорей всего у тебя что-то в маппингах не так. погугли просто на предмет hibernate+autogenerated keys+sybase и найди рабочие примеры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 15:43:32 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
А что вы хотели от legacy базы с экстравагантным драйвером. Вы бы ещё Hibernate 2.0 использовали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 15:46:16 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, не я уже, больше склоняюсь использовать Spring JDBC потому как в своем SQL я смогу безпрепятственно использовать весь синтаксис T-SQL от Sybase и индексы прописывать (которые очень часто Sybase имеет свойство терять) и никаких тебе проблем с insert да и выполнение хранимых процедур, вместо IUD операций тоже имеет свои плюсы но блин хотелось попользоваться Hibernate получить кайф от написания пары строк кода вместо мало кому нужного томика SQL + JDBC больше всего меня раздражает что работает все акромя INSERT прям уже хочется все бросить и уйти в монастырь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 16:10:41 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338прям уже хочется все бросить и уйти в монастырь... вначале всегда тяжело. я в свое время убил пол дня на то, чтобы хибер UUID гонял в postgres и обратно наиболее элегантным способом. как только начинаешь изучать, спотыкаешься на каждой мелочи. один раз нужно разобраться. только тогда пойдет профит. в твоей ситуации аналогично - один раз разберешься, дальше уже будешь знать как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 16:15:14 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
chpasha, да я это понимаю что надо один раз разобраться, только все равно не пойму, куда смотреть, за кем глядеть и откуда цепочка вьется короче говоря запутался я... надо на свежую голову брать в руки напильник а не как сейчас... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 16:18:25 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
попробовав немного поэкспериментировать с JdbcTemplate я тут наткнулся на такую вещь, что он работает быстрее потому как на поиске я (к примеру) не использую транзакцию, т.е. убрал аннотацию @Transactional у метода сервиса (ну нету же смысла на 1-ну операцию тащить транзакцию), но насколько я понял для корректной работы SessionFactory.getCurrentSeccion() нужна транзакция... внимание вопрос ЗАЧЕМ?(может я конечно не много не понял как там это настроить правильно, но без транзакции великий Hibernate отказывается работать и говорит что сессия пустая) зачем использовать транзакцию в таких случаях как CRUD ? когда элемент один и не имеет связей? я конечно понимаю зачем нужны транзакции (это как бы пакетная операция которая, в случае чего должна откатится вся), но хоть убей не пойму ЗАЧЕМ нужно это дело для одной операции, и как рулить такими ситуациями когда транзакция не нужна и тянуть ее ну просто нету смысла (т.е. как сделать работу Hibernate без транзакций, просто чет я не нашел этого в мануале, или пролистал не обратив внимания, а спросить не у кого =( ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 09:26:03 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338, Никак. Все изменения базы состояния бд в Хайбернейт делаются только в рамках транзакций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 09:56:31 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
schwa, но это же замедляет работу с БД примерно на треть! а когда работа с БД критична? то люди просто не используют Hibernate ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 10:18:18 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338но это же замедляет работу с БД примерно на треть! Речь о Sybase? У остальных вроде не замедляет особо. А как целостность данных вы предлагаете сохранять без транзакций вообще? Есть Read-Only транзакции, возможно они в вашем случае будут быстрее. 32338а когда работа с БД критична? Работа с БД всегда критична. 32338то люди просто не используют Hibernate ? Hibernate не используют либо когда его не умеют готовить, либо когда это лишено смысла - нет большого дерева ассоциаций, данные организованы и обрабытываются в более табличном виде. Тогда толку от него не много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 10:26:29 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я и не говорю что не надо использовать транзакции просто когда идет один Select то смысл в транзакции? просто получается что замедляет работу select ID, Name from User where ID = ? что увеличивает время отклика.... я протестировал и получилось что 1000 чтений из БД с помощью jdbcTemplate и Hibernate примерно на треть разнятся т.е. видимо из-за работы в транзакции потому как jdbcTemplate я не использовал транзакции для такой выборки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 10:42:14 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, в моем случае я его не могу приготовить из-за Sybase 11 и jconn3 которые не понимают автогенерацию.... и в нем нельзя (без применения костылей и подпорок) вставлять в таблицу идентификатор который описан как identity поле (автоинкрементовое) поэтому что бы не возиться с ним (потому как инфы об этом очень мало, а сам я пока не врубаюсь что да как) решил отложить этот вопрос.... это как в рекламе "Не люблю кошек. Ты просто не умеешь их готовить." да пока кухня с внутренностями Hibernate для меня табу.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 10:48:54 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338я и не говорю что не надо использовать транзакции просто когда идет один Select то смысл в транзакции? :) Каждый запрос в базе выполняется в своей транзакции чтобы обеспечить ACID. Разница лишь в том управляете ли вы это транзакцией в ручную, или работает автокоммит. 32338просто получается что замедляет работу select ID, Name from User where ID = ? что увеличивает время отклика.... Нет, не замедляет. 32338я протестировал и получилось что 1000 чтений из БД с помощью jdbcTemplate и Hibernate примерно на треть разнятся т.е. видимо из-за работы в транзакции потому как jdbcTemplate я не использовал транзакции для такой выборки [/quot] Hibernate помимо чтения конвертирует ещё данные в объекты. Что вы там тестировали не очень-то понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 10:50:57 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, все по фен-шую, т.е. через RowMapper (т.е. разбор и создание объектов) и получалось быстрее на треть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 11:12:57 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338все по фен-шую, т.е. через RowMapper (т.е. разбор и создание объектов) и получалось быстрее на треть Но, теперь вы точно не знаете то ли запросы на треть быстрее то ли создание объектов. :) Вот и я говорю не понятно что вы и как меряли. А всё на транзакции свалили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 11:18:17 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ладно хрен с ним теперь работает быстрее и меня это радует, и оно понятно ведь нету создания SQL запроса на основании сущности и т.д. да и разбор тоже простой Интересно все таки почему никто в инете не нашел как победить jconn3 и Hibernate + Sybase к тому же Sybase11Dialect как раз таки для Syabse 11 вроде как придуман... а не работает... обидно, обделили ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 11:26:09 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Попробуйти 3й хибернейт. Вообще это не удивительно. У хибера очень много проблем, но очень мало ресурсов. Поэтому на экзотических базах и вылазит всякое. Т.к. это opensource, то проще самому пропатчить и засабмитить фикс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 11:31:33 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ок щя гляну на 3-й хиб, только вот думаю мало что изменится.... хотя чем черт не шутит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 11:33:03 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
32338, Уже 4-ый вышел. Смотрите уж сразу на него. Еще mybatis можно посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 11:52:16 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
LeonidvУже 4-ый вышел. Смотрите уж сразу на него. Ворвался так сказать в тему. Не работает у него на 4м. Что там принципиально лучше чем в 3м - никто не знает. Багов разве что больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 11:53:31 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, как говорится мы устранили большинство старых багов и добавили кучу новых =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:02:37 |
|
||
|
подружить tomcat и hibernate
|
|||
|---|---|---|---|
|
#18+
эх че-то как-то работать не хотит hibernate 3.3.2.GA что-то не хочет sessionFactory работать... может че в настрйоках напутал, может кто глянет а то я уже 100 раз читаю и ппц Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:13:22 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2131387]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
37ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
147ms |
get tp. blocked users: |
2ms |
| others: | 283ms |
| total: | 526ms |

| 0 / 0 |
