Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JPA: с чего начать 
:(
    Опции темы
Forsaken
Дата 6.5.2010, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



Здравствуйте
Хочу разобраться с JPA, только немного непойму: 

2) где найти описание самой аннтоции?
3) где скачать jar для SE?

Помогите пожалуйста.
PM MAIL   Вверх
powerOn
Дата 6.5.2010, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



Цитата(Forsaken @  6.5.2010,  16:49 Найти цитируемый пост)
2) где найти описание самой аннтоции?

А погуглить?

Цитата(Forsaken @  6.5.2010,  16:49 Найти цитируемый пост)
3) где скачать jar для SE?

Скачай hibernate или toplink, они поддерживает спецификацию JPA.



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Forsaken
Дата 6.5.2010, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



powerOn 
а я вот не очень понимаю.. как она используется.. я подумал что нужно без hibernate и toplink. Я просто прохожу сериал по велосити.
А так гугл конечно помогает..

П.С.
Я вот сейчас как раз читаю Ваш пост, где Вы написали:
Цитата

Не трудно заметить, что работа с JPA весьма похожа на работу с Hibernate.

Это как-то противопоставляет JPA хибернейту...
Простите, если что не так.. я не очень понимаю как это устроенно... полная каша в голове..

Это сообщение отредактировал(а) Forsaken - 6.5.2010, 17:00
PM MAIL   Вверх
Vasay
Дата 6.5.2010, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Forsaken

JPA - Java Persistence API 
API - Application Programming Interface 

т.е. это стандартный способ общения вашей программы с ORM фрэймворками, такими как Hibernate. 

В идеале, если Вы используете JPA, то Вам все равно, что за ORM фрэймворк будет использоваться (поменять один на другой - одна строчка в конфигурационном файле). Но на практике могут быть проблемы.


Если я не ошибаюсь, то первый JPA делался с оглядкой на Oracle TopLink essentials,  разработчикам Hibernate уже пришлось под JPA подстраиваться.
JPA 2.0 делался с оглядкой на EclipseLink ( переименованный TopLink essentials, после передачи его исходных кодов в фонд Eclipse ).

Работа с конкретным фрэймворком напрямую, например, тем же Hibernate, дает Вам больше возможностей, так как часть "фишек" может просто не покрываться JPA, однако осложняет смену одного ORM фреймворка на другой (насколько может быть оправдана эта смена - решать Вам)



--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Vasay
Дата 6.5.2010, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



По документации, мне очень помогает -  аннотации с описаниями и примерами:

http://www.oracle.com/technology/products/...nnotations.html

Это сообщение отредактировал(а) Vasay - 6.5.2010, 18:13


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Forsaken
Дата 6.5.2010, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



Vasay
Спасибо за помощь!
Только все таки в примерах я нахожу классы из пакета javax.persistence, например в книге Java Persistence with Hibernate есть использование классов из пакета  javax.persistence (javax.persistence.Persistence) и т.д. А где их взять для SE и нужны ли они вообще?
Хотелось бы как можно универсальнее сделать, так чтобы можно было без больших передолов использовать вместо Hibernate использовать TopLink.
PM MAIL   Вверх
Vasay
Дата 6.5.2010, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Цитата

Только все таки в примерах я нахожу классы из пакета javax.persistence, например в книге Java Persistence with Hibernate есть использование классов из пакета  javax.persistence (javax.persistence.Persistence) и т.д. А где их взять для SE и нужны ли они вообще?


javax.persistence.*  в случае с toplink essentials лежат в 

toplink-essentials.jar

Для работы с JPA с использованием toplink essentials  в Java SE приложениях Вам потребуется этот jar  и toplink-essentials-agent.jar . 


П.с. Наверно, EclipseLink будет актуальне TopLink Essentials, так что лучше испотзовать его или Hibernate. 

Это сообщение отредактировал(а) Vasay - 6.5.2010, 20:53


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Forsaken
Дата 6.5.2010, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



Vasay
Спасибо!
Я скачал Hibernate (hibernate-distribution-3.5.1-Final) и библиотеки которые ему нужны, но так и не нашел javax.persistence.* :(

Это сообщение отредактировал(а) Forsaken - 6.5.2010, 21:36
PM MAIL   Вверх
Forsaken
Дата 8.5.2010, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



Нашел где находится пакет  javax.persistence: HIBERNATE_DIR\lib\jpa\hibernate-jpa-2.0-api-1.0.0.Final.jar

Теперь у меня проблема с самим проектом... Выдает все время ошибку
Код

log4j:WARN No appenders could be found for logger (ru.firstproject.FirstProject).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named FirstProject
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)
    at ru.firstproject.FirstProject.init(FirstProject.java:47)
    at ru.firstproject.test.TestFirstProject.main(TestFirstProject.java:13)



Помогите пожалуйста, справиться с этой проблемой. 
Сам проект (Eclipse IDE) я прикрепил к посту, он маленький (прохожу сериал  "JSP — с чего начать?"), основная часть рассположена в FirstProject.java, а TestFirstProject.java служит для тестового запуска.

Это сообщение отредактировал(а) Forsaken - 8.5.2010, 10:24

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  FirstProject.rar 21,63 Kb
PM MAIL   Вверх
Vasay
Дата 8.5.2010, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Forsaken

навскидку - hibernate.cfg.xml - лежит не там, где ты его ищешь.


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Forsaken
Дата 8.5.2010, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



Vasay
ой.. я забыл его удалть.. он ненужен... я все настройки вынес в persistence.xml чтобы упростить задачу.
Похоже что не получается как раз найти persistence.xml -хотя что я сним уже не делал.. (в CLASSPATH тоже добавил C:\FirstProject\META-INF - хотя как я понимаю можно было этого не делать), ничего непомогает

Это сообщение отредактировал(а) Forsaken - 8.5.2010, 11:15
PM MAIL   Вверх
Vasay
Дата 8.5.2010, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Forsaken

Цитата


ой.. я забыл его удалть.. он ненужен... я все настройки вынес в persistence.xml чтобы упростить задачу.
Похоже что не получается как раз найти persistence.xml -хотя что я сним уже не делал.. (в CLASSPATH тоже добавил C:\FirstProject\META-INF - хотя как я понимаю можно было этого не делать), ничего непомогает



Но у тебя в persistence.xml явная ссылка на hibernate.cfg.xml 


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Forsaken
Дата 8.5.2010, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



Vasay
Эх... это я ошибся.. простите пожалуйста..
Вот тут без hibernate.cfg.xml 


Я сейчас еще раз перезалил, исправил строчку 
Код

<persistence-unit name="Infinity" transaction-type="RESOURCE_LOCAL">

на 
Код

<persistence-unit name="FirstProject" transaction-type="RESOURCE_LOCAL"> 


Это сообщение отредактировал(а) Forsaken - 8.5.2010, 11:39

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  FirstProject.rar 22,90 Kb
PM MAIL   Вверх
Vasay
Дата 8.5.2010, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Цитата

<persistence-unit name="Infinite" transaction-type="RESOURCE_LOCAL">


Цитата

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named FirstProject


Ищем FirstProject, а в конфиге "Infinite"


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Forsaken
Дата 8.5.2010, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



Vasay
Поправил, тоже не помогает..( То есть все также. 
Я уже в отчаянии...

Это сообщение отредактировал(а) Forsaken - 8.5.2010, 11:41
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1082 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.