| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Работа с EJB |
| Автор: Sequd 4.5.2011, 16:08 |
| Собственно я много читал, но так и не понял... как объединить Session Bean и Entity Bean Кто из них должен иметь доступ к БД? ведь схема должна быть такая Servlet -> Session Bean -> Entity Bean -> БД Но не могу все это совместить вместе. есть ли примеры как все это реализовано вместе? |
| Автор: MisterCleric 4.5.2011, 16:26 |
| http://www.google.com/search?q=JPA |
| Автор: Sequd 4.5.2011, 17:19 | ||
эмм, к чему это?) я разве говорил по JSP? мне нужно что бы все начиналось с сервлета, но как продолжить связку дальше? где образуется подключение и запросы в БД? мне хотелось бы посмотреть на реальный, но простой код... |
| Автор: MisterCleric 4.5.2011, 17:34 |
| эмм, к чему это?) я разве говорил по JSP? |
| Автор: Sequd 4.5.2011, 19:25 | ||||
извеняюсь, мой косяк, показалось что там JSP да и отмазываться ссылками на гугл уже не прилично искать там то, не зная что не особо увлекательно.
|
| Автор: RageSteel 4.5.2011, 19:43 | ||||||||
| Всё очень просто. Сервлет обращается к EJB, который обращается к EntityManager'у, которые обращается к базе данных и возвращает строки в таблицах в виде Entity-объектов. Ниже пример для Java EE6. Сам сервлет:
EJB-bean:
Entity-класс
И persistence.xml — конфигурация для EntityManager'а:
Собственно пример для JavaEE6, проверялся в Glassfish 3.1. |
| Автор: Sequd 5.5.2011, 13:23 | ||
| Спасибо, это уже гораздо лучше. У меня возникло 2 проблемы, не работают эти аннотации, к примеру эти @Stateless, @LocalBean, но тут смысел более менее понятен. а вот строчка
совсем не понятна ((( можете по подробнее объяснить, что это за чудо EntityManager, почему он содержит запрос и вообще структуру??? (Запросы подобно этому должны быть здесь???) а если я буду делать поиск по каким то критериям??? я так понимаю мне нужно будет написать еще 1 метод в SampleEjb??? но что должно быть там??? простите если вопросы очень глупые, но очень нужны помощь! |
| Автор: RageSteel 5.5.2011, 19:40 | ||||
EntityManager — это тот парень, который общается с базой. Чтобы всё понять — лучше погрузиться в описание Java Persistence API, частью которого он является. Он отображает строки таблиц в объекты, которые аннотированны как @Entity. Если делать поиск — то в запрос нужно включать параметры, которые потом нужно устанавливать. Собственно разумно всю работу с EntityManager оставить EJB-бинам. А уж сколько там будет методов — это уж как удобней. |
| Автор: Sequd 6.5.2011, 12:37 |
| дело в том что у меня не работают эти аннотации! Можете показать как сделать тоже самое только без аннотаций? Ведь это нужно что бы еще были и интерфейсы? |
| Автор: RageSteel 6.5.2011, 19:17 |
| А ты на каком сервере разворачиваешь приложение? Чтобы аннотации работали, нужно что-нибудь JavaEE6-совместимое: Glassfish 3.x, JBoss 6… |
| Автор: Sequd 6.5.2011, 19:28 |
| jboss-4.0.5.GA но лучше увидеть все без них, что бы разобраться как все работает, ведь серверы разные могут быть |
| Автор: RageSteel 6.5.2011, 21:09 |
| Jboss 4 — это Java EE 1.4, конечно там аннотации не работают, ибо их в четвёртой java не было. В мире Java EE 1.4 нужно писать много-много XML'я и дополнительных классов/интерфейсов. Я с этим не работал, так что увы. |
| Автор: Sequd 8.5.2011, 15:19 |
| Кто поможет разобраться с 1.4? ооочень нужно и быстро! |