Mam 2 projekty mavenowe
- persitence
- silnik
silnik wymaga persistence.
Konfiguracja persistence wygląda tak:
persistence.xml
<?xml version="1.0" encoding="UTF-8"?><persistence version="1.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_1_0.xsd">
<persistence-unit name="default">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.archive.autodetection" value="class, hbm" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" />
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />
</properties>
</persistence-unit>
</persistence>
applicationContext.xml
<bean id="emf"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath*:/META-INF/persistence.xml" />
<property name="persistenceUnitName" value="default" />
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="databasePlatform" value="${dialect}" />
<property name="showSql" value="true" />
<property name="generateDdl" value="false" />
<property name="database" value="${db}" />
</bean>
</property>
</bean>
Kawałek bean-a
protected EntityManagerFactory emf;
protected EntityManager em;
public void setEmf(EntityManagerFactory emf) {
this.emf = emf;
this.em = this.emf.createEntityManager();
}
I teraz tak:
Wykonując dowolne zapytanie do bazy wszystko działa ok, ale tylko na serwerze jetty (konfiguracja w pom.xml), który uruchamiam sobie bezpośrednio z eclipse-a.
Za pośrednictwem maven-a tworzę sobie war-a i robię deploy na jBoss lub Tomcat i wykonując zapytanie:
Otrzymuję taki sam błąd
javax.servlet.ServletException: java.lang.IllegalArgumentException: Parameter from does not exist as a named parameter in...
org.hibernate.internal.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:403)
org.hibernate.internal.AbstractQueryImpl.setTimestamp(AbstractQueryImpl.java:700)
org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:393)
org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:67)
Podejrzewam, że EntityManager jest jakiś ułomny, ale nie mam pojęcia co jest z nim nie tak.
Czy może coś popierdzieliłem ze ścieżkami? Czy coś trzeba dokonfigurować? Jak jakiś kawek konfiguracji trzeba dokleić to to zrobię, tylko napiszcie co jest potrzebne.