Prateek Chachra
Prateek Chachra

Reputation: 190

Javax Persistence Error : Unknown Entity com.samplewebentities.Customer

I'm trying to persist an entity using EntityManagerFactory defined in my bean. The function looks like this:

  private BaseMasterEntity saveEntity(BaseMasterEntity entity){
    EntityManagerFactory emf = (EntityManagerFactory)context.getBean("entityManagerFactory");
    EntityManager sf = emf.createEntityManager();
    sf.getTransaction().begin();
    sf.persist(entity);
    sf.getTransaction().commit();
    sf.close();
    return entity;

}

The problem here is when it persists it cannot find the entity. The entity has @Entity defined clearly with the javax.persistance annotation. This is how my context file looks btw:

    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    <property name="url" value="*my jdbc setting*" />
    <property name="username" value="hr" />
    <property name="password" value="hr" />

</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter" />
    <property name="packagesToScan"
     value="classpath*:com.samplewebentities"></property>
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
            <prop key="hibernate.hbm2ddl.auto">create</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>

    </property>
</bean>

<bean id="hibernateJpaVendorAdapter"
    class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
<tx:annotation-driven transaction-manager="transactionManager" />

If it helps, the classpath*:com.samplewebentites is a different component (The application is a combination of many different components/projects: Using SCA here).

Upvotes: 3

Views: 288

Answers (1)

kuhajeyan
kuhajeyan

Reputation: 11037

No need for classpath

..
 <property name="packagesToScan"
     value="com.samplewebentities"></property>
..

Upvotes: 2

Related Questions