hibernate + Spring w wildfly 8

0

Próbuję skonfigurować swoją aplikację z hibernate. korzystam z tego poradnika : http://half-wit4u.blogspot.com/2014/05/spring-web-application-on-wildfly.html. Wyrzuca mi jednak błąd: "JBAS011440: Can't find a persistence unit named my-jpa in deployment".
Moja konfiguracja wygląda następująco ( nie zmieniałem jeszcze nawet żadnych nazw ):

servlet-context:

	<!-- Database configuration -->
	<jee:jndi-lookup id="dataSource" jndi-name="java:jboss/datasources/postgreSQL"
		resource-ref="true" />

	<jee:jndi-lookup id="entityManagerFactory" jndi-name="java:comp/env/persistence/my-emf"
		expected-type="javax.persistence.EntityManagerFactory" />

	<beans:bean id="transactionManager"
		class="org.springframework.transaction.jta.JtaTransactionManager">
		<beans:property name="transactionManagerName" value="java:/TransactionManager" />
	</beans:bean>

	<beans:bean class="org.springframework.orm.hibernate4.HibernateExceptionTranslator" />

web.xml

<persistence-unit-ref>
		<persistence-unit-ref-name>persistence/my-emf</persistence-unit-ref-name>
		<persistence-unit-name>my-jpa</persistence-unit-name>
	</persistence-unit-ref>

persistance.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
 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_2_0.xsd">
 
 <persistence-unit name="my-jpa" transaction-type="JTA">
  <class>com.engineering.pawel.pojo.User</class>
  <jta-data-source>java:jboss/datasources/postgreSQL</jta-data-source>
  <properties>
   <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
   <property name="hibernate.max_fetch_depth" value="3" />
   <property name="hibernate.hbm2ddl.auto" value="update" />
   <property name="hibernate.show_sql" value="true" />
   <property name="hibernate.jdbc.batch_size" value="100" />
   <property name="hibernate.id.new_generator_mappings" value="true" />
   <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup" />
   <property name="hibernate.transaction.auto_close_session" value="true" />
   <property name="javax.persistence.transactionType " value="jta" />
   <property name="hibernate.current_session_context_class" value="jta" />
   <property name="hibernate.connection.release_mode" value="auto" />
  </properties>
 </persistence-unit>
</persistence>

Wydaje mi się, że błąd jest w web.xml ale nie wiem jak go ustawić. Jak szukam po sieci to na każdej stronie jest inna metoda ustawiania połącznie z bazą danych. Wybrałem tą ponieważ zależało mi aby użyć jboss-owe datasource oraz aby ustawienie hibernate nie było w bean-ie tylko z xml-u. Według mnie jest tak przejrzyściej.
Mam też wątpliwości czy potrzeba konfigurować tego beana:

<jee:jndi-lookup id="dataSource" jndi-name="java:jboss/datasources/postgreSQL"
		resource-ref="true" />

skoro nigdzie nie jest on używany. Dodatkowo w następnym bean-ie również zaciągam ustwienia do bazy danych z jbossa, tylko przez persistance.xml:

<jee:jndi-lookup id="entityManagerFactory" jndi-name="java:comp/env/persistence/my-emf"
		expected-type="javax.persistence.EntityManagerFactory" />

Przynajmniej ja to tak rozumiem, jeśli źle to proszę poprawcie mnie :)

Za wszelkie sugestie będę wdzięczny :)

0

persistence.xml
in your face! wszyscy którzy twierdzą ze angielski jest niepotrzebny!

0

Masz rację, przeoczyłem. Znasz odpowiedź na pozostałe pytania ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1