我正在尝试使用packageScan属性。如果我使用如下,我会收到以下错误。但是,如果我在persistence.xml中取消注释该属性,那么它正在工作。
我不能同时使用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 :(得分:0)
简而言之:你没有。 setPackagesToScan(…)
状态的JavaDoc(强调我的):
设置是否对类路径中的实体类使用基于Spring的扫描,而不是使用JPA标准扫描带有
persistence.xml
标记的jar文件。
在没有标准JPA PersistenceUnitInfo
的情况下,该机制基本上构建了默认JPA persistence.xml
,因此无法与其结合使用。