Search code examples
javaspringhibernateannotations

Spring + Hibernate annotatedPackages tag not working


I have annotated class

package com.kaushik.winnersoft.data;
@Entity
@Table(name="Customer")
public class Customer {

int id;
String name,surname;
@Id
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
@Column
public String getName() {
    return name;
}
:
:
}

Spring has configuration as follows

<bean id="mySessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="annotatedPackages">
        <list>
            <value>com.kaushik.winnersoft.data</value>
        </list>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
        </props>
    </property>
    <property name=""></property>
</bean>

But when running test class it says

Caused by: org.hibernate.MappingException: Unknown entity: com.kaushik.winnersoft.data.Customer
at org.hibernate.metamodel.internal.MetamodelImpl.entityPersister(MetamodelImpl.java:620)
at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1634)

If I use

    <property name="annotatedClasses">
            <list>
                <value>com.kaushik.winnersoft.data.Customer</value>
            </list>
    </property>

It does not give above error. What is mistake in using "annotatedPackages" ?


Solution

  • You should use packagesToScan property

    <property name="packagesToScan" value="com.kaushik.winnersoft.data"></property>

    Thanks