2015-09-05 27 views
0

我正在嘗試使用packageScan屬性。如果我像下面一樣使用,我會得到錯誤。但是如果我取消註釋persistence.xml中的屬性,那麼它正在工作。如何將packageScan和Persistence.xml一起用於EntityManagerFactory?

我不能一起使用persistence.xml和packageToScan屬性嗎?

Not an managed type: class org.entities.Person 

Config.java

@Bean 
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() { 
     LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); 
     em.setPersistenceXmlLocation("persistence.xml"); 
     em.setPersistenceUnitName("sample"); 
     em.setPackagesToScan(new String[]{"org.entities"}); 
     return em; 
    } 

的persistence.xml

<persistence> 
    <persistence-unit name="sample" transaction-type="RESOURCE_LOCAL"> 

     <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 
     <!--<class>org.entities.Person</class>--> 

     <properties> 
      <property name="hibernate.connection.username" value="user" /> 
      <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" /> 
      <property name="hibernate.connection.password" value="user" /> 
      <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/Hibernate" /> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQL9Dialect" /> 
      <property name="hibernate.hbm2ddl.auto" value="create" /> 
      <property name="hibernate.show_sql" value="true" /> 
      <property name="hibernate.format_sql" value="true" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

回答

0

簡而言之:你不知道。

設置是否使用實體類基於Spring的掃描在classpath 使用JPA的jar文件標準掃描在他們persistence.xml標記,而不是:的setPackagesToScan(…)國家(重點煤礦)的Javadoc。

的機制基本上積聚在不存在標準JPA persistence.xml的默認JPA PersistenceUnitInfo,因此不能與它相結合。

+0

謝謝奧利弗。 – Manoj

相關問題