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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JPA and Spring, Ох уж этот javax.persistence.Persistence 
V
    Опции темы
Bandit
Дата 24.4.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго времени суток.
Проблема меня гложит уже 2ые сутки. Работа просто стоит и все.

INFO: Server startup in 3390 ms
Apr 24, 2008 9:21:15 AM org.apache.struts.tiles.TilesRequestProcessor initDefinitionsMapping
INFO: Tiles definition factory found for request processor ''.
javax.persistence.PersistenceException: No Persistence provider for EntityManager named news
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:56)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
    at by.testapp.database.dao.utilDAO.InitEntityManagerFactory.createEntityManager(InitEntityManagerFactory.java:13)
    at by.epam.testapp.database.dao.JpaNewsDAO.saveAdd(JpaNewsDAO.java:72)
    at by.epam.testapp.presentation.action.NewsAction.saveAdd(NewsAction.java:95)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

applicationContext.xml
Код

        <!-- JPA JPA JPA JPA JPA JPA JPA JPA JPA JPA JPA JPA JPA JPA JPA JPA -->
    
    <bean id="initEntityManagerFactory" 
        class="by.testapp.database.dao.utilDAO.InitEntityManagerFactory"
        singleton="true"
        >
        <property name="namePersistenceXML">
            <value>news</value>    <!--METE-INF persistence.xml -->
        </property>
    </bean>
    
    <bean id="jpaNewsDAO"
        class="by.testapp.database.dao.JpaNewsDAO"
        singleton="true">
        <property name="factoryManagerEntity">
            <ref local="initEntityManagerFactory"/>
        </property>
    </bean>
    
    <!-- ACTION ACTION ACTION ACTION ACTION ACTION ACTION ACTION ACTION -->
    
    <bean name="/news" 
        class="by.testapp.presentation.action.NewsAction" 
        singleton="false"> 
        <property name="newsDAO">    
         <ref bean="jpaNewsDAO"/>    
        </property> 
    </bean>


InitEntityManagerFactory.java

Код

public class InitEntityManagerFactory {
    private EntityManagerFactory entityManagerFactory = null;
    private String namePersistenceXML;
    
    public void createEntityManager(){
        this.entityManagerFactory = Persistence.
                                createEntityManagerFactory(namePersistenceXML);                                                          
    }    
    
    public void destroyEntityManagerFactory(){
        if(entityManagerFactory.isOpen() == true && entityManagerFactory != null){
            entityManagerFactory.close();
        }
    }
    
    public EntityManagerFactory getEntityManagerFactory(){
        return this.entityManagerFactory;
    }
    
    public String getNamePersistenceXML(){
        return this.namePersistenceXML;
    }
    public void setNamePersistenceXML(String namePersistenceXML){
        this.namePersistenceXML = namePersistenceXML;
    }
}


JpaNewsDAO.java
Код

public class JpaNewsDAO implements INewsDAO {
    private InitEntityManagerFactory factoryManagerEntity;
***
       public boolean saveAdd(News news) {    
        EntityManager entityManager = null;
        try{
            factoryManagerEntity.createEntityManager();
              EntityManagerFactory entityManagerFactory=factoryManagerEntity.getEntityManagerFactory();
            entityManager = entityManagerFactory.createEntityManager();
            entityManager.persist(news);
            return true;
        }catch (Exception e) {
            e.printStackTrace();
            return false;
        }finally{
            this.closeEntityManager(entityManager);
        }
    }
***
}


NewsAction.java
Код

         public ActionForward saveAdd(ActionMapping mapping, ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response){
        NewsForm newsForm = (NewsForm)form;
        News news = newsForm.getNewsMessage();
        newsDAO.saveAdd(news);
        return list(mapping, form, request, response); 
    }


News.java
Код

@Entity        
@Table(name= "NEWS")    
public class News {
        @Id                                
        @Column(name= "IDNEWS")        
        @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer idNews;
        
        @Column(name= "TITLE", length=200)
    private String titleNews;
    
        @Column(name= "NEWS_DATE")
        @Temporal(value=TemporalType.DATE)
    private Date dateNews;
    
        @Column(name= "BRIEF", length=600)
    private String brief;            
    
        @Column(name= "CONTENT", length=2200)
    private String content;
    
    public News(){
        
    }
/*прописаны все get,set*/


persistence.xml в папке META-INF
Код

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
    version="1.0">
    <persistence-unit name="news" transaction-type="RESOURCE_LOCAL">
        <provider>
            oracle.toplink.essentials.PersistenceProvider
        </provider>
        <class>com.testapp.model.News</class>
        <properties>
            <property name="toplink.jdbc.driver"
                value="oracle.jdbc.driver.OracleDriver" />
            <property name="toplink.jdbc.url"
                value="jdbc:oracle:thin:@localhost:1522:XE" />
            <property name="toplink.jdbc.password" value="bandit" />
            <property name="toplink.jdbc.user" value="bandit" />
        </properties>
    </persistence-unit>
</persistence>


Смотрел похожую тему:
http://forum.vingrad.ru/forum/topic-196811...tory/index.html
пробовал делать, что написано:
"шаманил" с расположением проекта. теперь лежит на C:\project

Буду благодарен за любые, самые любые предложения по этому вопросу. Спасибо.
PM MAIL   Вверх
Bandit
Дата 24.4.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 smile  
Расскажите где должен лежать persistence.xml
в папке src/META-INF или Web-Content/META-INF????
PM MAIL   Вверх
Bandit
Дата 24.4.2008, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

INFO: Server startup in 8141 ms
Apr 24, 2008 12:46:58 PM org.apache.struts.tiles.TilesRequestProcessor initDefinitionsMapping
INFO: Tiles definition factory found for request processor ''.
[TopLink Info]: 2008.04.24 12:47:55.498--ServerSession(18968410)--TopLink, version: Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))
Local Exception Stack: 
Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
Error Code: 17002
    at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:305)
    at oracle.toplink.essentials.sessions.DefaultConnector.connect(DefaultConnector.java:102)
    at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:184)
    at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:582)
    at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:280)
    at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:229)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:93)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:126)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:120)
    at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:91)
    at by.epam.testapp.database.dao.JpaNewsDAO.getList(JpaNewsDAO.java:46)


Ребят! может кто-нибудь объяснит, что это такое? Пробую гуглить, выдает непонятно что... 
PM MAIL   Вверх
Kangaroo
Дата 24.4.2008, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



Цитата(Bandit @  24.4.2008,  13:13 Найти цитируемый пост)
Ребят! может кто-нибудь объяснит, что это такое? Пробую гуглить, выдает непонятно что...  

Вроде как не может к Ораклу приконнектится.


--------------------
Lost....
PM MAIL MSN   Вверх
Bandit
Дата 24.4.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Kangaroo,  благодарю за ответ. Если есть идеи как это можно исправить?
PM MAIL   Вверх
Kangaroo
Дата 24.4.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



Цитата(Bandit @  24.4.2008,  14:06 Найти цитируемый пост)
Если есть идеи как это можно исправить? 

Сервер запущен? Адрес, СИД правильные? Попробуй из чего нибудь другого приконнектится.


--------------------
Lost....
PM MAIL MSN   Вверх
hanabi
Дата 25.4.2008, 03:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Bandit @ 24.4.2008,  12:12)
smile  
Расскажите где должен лежать persistence.xml
в папке src/META-INF или Web-Content/META-INF????

в META-INF в jar файле, где у вас все EJB лежат
http://java.sun.com/blueprints/code/projectconventions.html
PM MAIL   Вверх
Bandit
Дата 25.4.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ошибка вылетает когда создается entityManager

JpaNewsDAO.java

Код

public class JpaNewsDAO implements INewsDAO {
    private InitEntityManagerFactory factoryManagerEntity;
***
       public boolean saveAdd(News news) {    
        EntityManager entityManager = null;
        try{
            factoryManagerEntity.createEntityManager();
              EntityManagerFactory   entityManagerFactory=factoryManagerEntity.getEntityManagerFactory();

            entityManager = entityManagerFactory.createEntityManager();
 
Код
           entityManager.persist(news);
            return true;
        }catch (Exception e) {
            e.printStackTrace();
            return false;
        }finally{
            this.closeEntityManager(entityManager);
        }
    }
***
}

PM MAIL   Вверх
tux
Дата 25.4.2008, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(Kangaroo @  24.4.2008,  14:10 Найти цитируемый пост)
Сервер запущен? Адрес, СИД правильные? Попробуй из чего нибудь другого приконнектится. 

Цитата(Bandit @  25.4.2008,  12:16 Найти цитируемый пост)
Ошибка вылетает когда создается entityManager

Bandit, объясни на милость, каким образом это отвечает на поставленный вопрос?
PM MAIL Skype GTalk Jabber YIM   Вверх
Bandit
Дата 28.4.2008, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(tux @  25.4.2008,  15:04 Найти цитируемый пост)
Сервер запущен? Адрес, СИД правильные? Попробуй из чего нибудь другого приконнектится. 

Цитата(Bandit @  25.4.2008,  12:16 Найти цитируемый пост)
Ошибка вылетает когда создается entityManager

Bandit, объясни на милость, каким образом это отвечает на поставленный вопрос? 


Извиняюсь, обещаю исправится. smile

Сервак стартует. Url, user , password верные (без проблем коннекчусь через JDBC, Hibernate, а JPA ступор и все).

PM MAIL   Вверх
Bandit
Дата 28.4.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ребята!  smile  smile  smile Иногда я себя просто ненавижу за глупые ошибки(опечатки)  smile  .
Вы были правы! Все вы были правы!

 value="jdbc:oracle:thin:@localhost:1522:XE" />

 value="jdbc:oracle:thin:@localhost:1521:XE" />

Разница в один символ. Это просто ужастно...
Спасибо за терпение. smile

Добавлено через 22 секунды
smile
PM MAIL   Вверх
anti_snayper
Дата 5.3.2010, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



///

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

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

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


 




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


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

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