Looky
Erfahrenes Mitglied
Hallo Leute,
Ich möchte JPA mit Spring benutzen. Allerdings komme ich immer auf einen Fehler der mich echt wahnsinnig macht. Ist sicher nur eine kleinigkeit.
Die Fehlermeldung:
java.lang.IllegalArgumentException: Object: de.ckel.dbmodel.Person@52e80740 is not a known entity type.
Hier meine Person-Entity:
Hier die Spring Config:
und finally hier die persitence.xml aus dem Verz. META-INF:
Ich hab gegooglet wie ein wahnsinniger und bin mit meinem Latein echt am Ende.
Hier ein Testcase, der den Fehler bringt (beim em.persist(person)
Test:
und GetCon
Vielen Dank!!
Ich möchte JPA mit Spring benutzen. Allerdings komme ich immer auf einen Fehler der mich echt wahnsinnig macht. Ist sicher nur eine kleinigkeit.
Die Fehlermeldung:
java.lang.IllegalArgumentException: Object: de.ckel.dbmodel.Person@52e80740 is not a known entity type.
Hier meine Person-Entity:
PHP:
package de.ckel.dbmodel;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private int id;
private String name;
private String adress;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAdd() {
return adress;
}
public void setAdd(String adress) {
this.adress = adress;
}
}
Hier die Spring Config:
PHP:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:lang="http://www.springframework.org/schema/lang"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"
default-autowire="byName">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/jpa2"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="persistenceUnitName" value="books" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter">
<property name="showSql" value="false"/>
<property name="generateDdl" value="false"/>
<property name="databasePlatform" value="org.eclipse.persistence.platform.database.MySQLPlatform"/>
</bean>
</property>
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading.SimpleLoadTimeWeaver" />
</property>
</bean>
<context:annotation-config />
<context:component-scan base-package="de"/>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager" />
</beans>
PHP:
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
<persistence-unit name="books" transaction-type="RESOURCE_LOCAL">
<class>de.ckel.dbmodel.Person</class>
</persistence-unit>
</persistence>
Ich hab gegooglet wie ein wahnsinniger und bin mit meinem Latein echt am Ende.
Hier ein Testcase, der den Fehler bringt (beim em.persist(person)
Test:
PHP:
RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:springtest.xml"})
public class Test {
@Autowired
GetCon con;
@org.junit.Test
public void test(){
System.out.println(con);
con.setup();
}
...
und GetCon
PHP:
public class GetCon implements IOrderService{
EntityManager em;
@PersistenceContext
public void setEM(EntityManager em){
this.em = em;
}
public void setup(){
System.out.println("SETUP");
Person p = new Person();
p.setAdd("Akdwpqokdo99");
p.setName("Testname");
em.persist(p);
}
Vielen Dank!!