Java - Configuración proyecto web con JPA, JSF e Hibernate

 
Vista:
sin imagen de perfil

Configuración proyecto web con JPA, JSF e Hibernate

Publicado por Jaime (2 intervenciones) el 24/03/2014 18:58:57
Hola, estoy tratando de crear un proyecto web con las tecnologías indicadas y después de mirar muchos foros y blogs sigo sin tener una idea clara de cuantos ficheros de configuración hay que crear.

El entorno que he montado es Tomcat 7, Eclipse Kepler y MySQL 5.6. En Eclipse he creado un proyecto web al que he incluido los facets JPA, librerías Hibernate 4.3.4, y JSF, librerías Mojarra 2.2. Para MySQL he puesto los drivers version 5.1.29. La base de datos está creada y configurada en eclipse y las clases para gestionar las tablas mediante JPA también están creadas.

El problema viene a la hora de crear los ficheros de configuración. El persistence.xml es necesario para JPA y lo tengo casi completo excepto por el datasource, que no se cómo ponerlo si RESOURCE_LOCAL o JTA. Para el datasource tengo que crear un context.xml, que no tengo claro qué poner y en el web.xml también hay que indicar el datasource.

Por otro lado, también he visto que hay un fichero de configuración para JSF, con el que aún no me he pegado y en diversos foros he visto también el hibernate-cfg.xml, que no se siquiera si es necesario al utilizar JPA.

Alguien me puede aclarar un poco qué ficheros de configuración son imprescindibles y cómo crear el datasource?

Un saludo y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

Configuración proyecto web con JPA, JSF e Hibernate

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 24/03/2014 20:59:37
Hola,
Si vas a utilizar JPA no necesitas nada de hibernate. Para JPA basta con utilizar un archivo de configuración llamado persistence.xml. en este se especifica cada entity bean y un data source ej:
1
2
3
4
5
6
<persistence>
	<persistence-unit name="ProyectoJEEPersistenceUnit" transaction-type="JTA">
		<class>com.company.jee.entity.Usuario</class>
                <jta-data-source>java:MySqlDS</jta-data-source>
	</persistence-unit>
</persistence>
Con JTA especificas que vas a utilizar esa api en concreto. PUedes encontrar mucha info en internet de esto.
el DATASOURCE llamado java:MySqlDS se configura directamente en el contenedor el cual es el que gestiona los llamados a la base de datos. En weblogic se configura desde una consola, en jboss se coloca un archivo con extension .xml en el directorio del dominio y seguramente en Tomcat debe ser también un archivo, debes investigar mas como es allì, el caso es que en este archivo se colocan cosas como la direccion de la base de datos, el driver de la clase, el tamaño del pool, usuario, password, entre otros datos segùn el contenedor y por supuesto el nombre JNDI el mismo que se coloca en la etiqueta del persistence.xml jta-data-source. Algo que debes tener en cuenta es que JPA es incluido en el estandar de EJB 3.0 por lo que lo lógico es que tu proyecto sea con extension EAR y en el tengas modulos web (.war) y ejb(.jar), por lo que tu proyecto no debería ser solo un proyecto web si no tambien un proyecto EJB. Esto lo gestiona Eclipse cuando creas un proyecto tipo Project y le adicionas los recursos web, y ejb. En el proyecto web debes tener el web.xml como minimo (no necesitas especificar el datasource por que este ya lo gestiona el modulo EJB). y para JSF un archivo normalmente llamado faces-config.xml que si no lo conoces debe ser porque no tienes idea de lo que es JSF pero como este es framework de presentaciòn debe ir en el modulo WEB. Esto es lo mas importante, puede que te enredes porque se pueden tener muchas tipos de configuracion segùn las necesidades. Lo que te aconsejo es que empieces por aprender cada framework uno por uno y no todos de lleno ya que siempre hay muchas que se tienen que tener en cuenta para cada uno.

Espero te ayude,
Saludos, ;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Configuración proyecto web con JPA, JSF e Hibernate

Publicado por Jaime (2 intervenciones) el 28/03/2014 10:32:00
Muchas gracias por la ayuda, al final me ha ayudado a encontrar más información. Al ver en el persistence.xml referencias a hibernate en el provider, creí que JPA necesitaba de hibernate pero a la vez veía también referencias en otros ejemplos a eclipseLink y otras librerías y eso era lo que me confundía.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar