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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Опять проблемы с EJB 
:(
    Опции темы
shedow
Дата 24.9.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день (загрузился так, что забыл поздороваться  smile )

Никак не могу справиться с подключением к базе данных.
Сделал простенький проект в составе:
Java EE Application. В нем
EJB

Код

package PackData;

import javax.ejb.Stateless;

@Stateless
public class ProbaSessionBean {
    public ProbaSessionBean() {
    }
}


c ejb-jar.xml
Код

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
         version="3.0">
    <enterprise-beans>
        <session>
            <ejb-name>ProbaSessionBean</ejb-name>
            <ejb-class>PackData.ProbaSessionBean</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
        </session>
    </enterprise-beans>
</ejb-jar>


Затем JPA
Код

package ejb.PackData;

import javax.persistence.*;


@Entity
public class ProbaData {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    private String name;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}


с persistence.xml
Код

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">

    <persistence-unit name="PersistenceUnit">


       <jta-data-source>jdbc/Material</jta-data-source>
        <properties>
          <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
          <property name="toplink.ddl-generation" value="create-tables"/>

        </properties>

       </persistence-unit>
</persistence>


ошибок нет, все хорошо. Сервер - GlassFish. 
Все это дело деплоится, в логах никаких ошибок нет, но таблица в базе не создается.
Подключение проверял на рабочем проекте - там все нормально. 
Подскажите, в чем может быть проблема.

Это сообщение отредактировал(а) shedow - 24.9.2008, 12:56
PM MAIL   Вверх
Asal
Дата 24.9.2008, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



shedow, а почему в persistence.xml не указан провайдер ?
try this
Код

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">

  <persistence-unit name="PersistenceUnit" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>jdbc/Material</jta-data-source>
    <class>ejb.PackData.ProbaData</class>
    <properties>
      <property name="hibernate.show_sql" value="true"/>
      <property name="hibernate.format_sql" value="true"/>
      <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
    </properties>
  </persistence-unit>
</persistence>



--------------------
PM MAIL ICQ   Вверх
shedow
Дата 24.9.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Провайдер не указан - это особенности GlassFish-а. В этом случае он использует встроенный TopLinк.
Впрочем, при переключении на Hibernate картина не меняется. И ошибок нет. Такое впечатление что JPA вообще не деплоится.
PM MAIL   Вверх
powerOn
Дата 24.9.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



не совсем понятно настроили ли Вы DataSource через админскую консоль и где используете EntityManager, типа:
Код

    @PersistenceContext(unitName = "PersistenceUnit")
    private EntityManager em;


думаю без его инициализации ничего создано не будет.


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

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


Новичок



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

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



Именно!!! Именно его (контекст с менеджером)  я и забыл!!! 
Спасибо огромное. Топлинк стартанул, таблицу создал. Теперь буду разбираться, почему хибернейт отказывается работать.
PM MAIL   Вверх
shedow
Дата 26.9.2008, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я извиняюсь, но тема рано помечена как решенная.  smile 
Проект работает на топлинке. На при попытке использовать в качестве провайдера хибенэйт - лезут ошибки.
Версия ядра и энтитименеджера 3,3,1. модули и их библиотеки сбросил в lib глассфиша. Выдает ошибки инициализации. Персистенс такой:

Код

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">

<persistence-unit name="PersistenceUnit">

<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/Material</jta-data-source>
<class>ejb.PackData.ProbaData</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>

</properties>

</persistence-unit>
</persistence>


В чем может быть проблема?
PM MAIL   Вверх
powerOn
Дата 26.9.2008, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



что за ошибки?


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

PM MAIL   Вверх
shedow
Дата 29.9.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ошибок 2 штуки, забрасываю с описанием

Код


Logger
    
javax.enterprise.system.stream.err

Name-Value Pairs
    
_ThreadID=19;_ThreadName=httpWorkerThread-4848-3;_RequestID=b5adb7fc-51dc-4117-bc7c-4eb7b6ac72f8;

Message ID
    
java.lang.NoClassDefFoundError

Complete Message
    
Could not initialize class org.hibernate.ejb.Ejb3Configuration at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:125)

 at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:149) at
 com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:84) at 
com.sun.enterprise.server.AbstractLoader.loadPersistenceUnits(AbstractLoader.java:898) at
 com.sun.enterprise.server.ApplicationLoader.doLoad(ApplicationLoader.java:184) at
 com.sun.enterprise.server.TomcatApplicationLoader.doLoad(TomcatApplicationLoader.java:126) at
 com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:244) at

 com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:336) at 
com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:210) at

 com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:645) at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:928) 
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:912) 
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:461) 

at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:176) 
at 
com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308) 
at 
com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:226) 
at 
com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298) 
at 
com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132) 
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108) 
at 
com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:919) 
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591) at 
com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635) at 
com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:744) at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at 
java.lang.reflect.Method.invoke(Method.java:597) at 
com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:375) at 
com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:358) at 
com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:464) at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) 
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at 
sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source) at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at 
java.lang.reflect.Method.invoke(Method.java:597) at 
com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90) at $Proxy1.invoke(Unknown 
Source) at 
com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304) at 
com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174) at 
com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:69) at 
com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:155) 
at 
com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:122) 
at 
com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at 
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290) at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at 
com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270) at 
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) 
at 
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) 
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) 
at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) 
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at 
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at 
com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)




и 

Код

Name-Value Pairs
    
_ThreadID=19;_ThreadName=httpWorkerThread-4848-3;Could not initialize class 
org.hibernate.ejb.Ejb3Configuration;_RequestID=b5adb7fc-51dc-4117-bc7c-4eb7b6ac72f8;


Record Number
    
3184

Message ID
    
ADM5603

Complete Message
    
Event listener error [Could not initialize class org.hibernate.ejb.Ejb3Configuration]


Это сообщение отредактировал(а) shedow - 29.9.2008, 10:56
PM MAIL   Вверх
powerOn
Дата 29.9.2008, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Есть мнение, что нужно выполнить несколько дополнительных телодвижений что бы подружить glassfish с hibernate. Посмотрите вот этот материал.

Добавлено через 3 минуты и 32 секунды
Вот еще материал по теме.


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

PM MAIL   Вверх
shedow
Дата 30.9.2008, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да, эти инструкции читал. Первая для шибко старой версии глассфиша, фактически и патча этого там нет. 
По второй инструкции, собственно, все и делал.  Толку пока никакого, хотя на одном проекте почему - то заработало...
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.0555 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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