Mysql 在entitymanager上查询时需要避免使用“inPersistenceUnit”
我使用的是jpa和spring,下面的代码有一个错误Mysql 在entitymanager上查询时需要避免使用“inPersistenceUnit”,mysql,spring,jpa,entitymanager,Mysql,Spring,Jpa,Entitymanager,我使用的是jpa和spring,下面的代码有一个错误 @PersistenceContext protected EntityManager entityManager; entityManager.createQuery("select c from Theatre c"); 然后接受这个错误 java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Theat
@PersistenceContext protected EntityManager entityManager;
entityManager.createQuery("select c from Theatre c");
然后接受这个错误
java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Theatre is
not mapped [select c from Theatre c]
为了解决我下面使用的问题,但我需要任何其他解决方案,因为项目不应该知道类,我想做动态规划
<class>Theatre </class> in "PersistenceUnit"
我很感激你的建议
致以最诚挚的问候您可以在Spring 3.1中提供的LocalContainerEntityManagerFactoryBean定义中使用属性PackageScon。如果使用这种方法,就不需要再定义persistence.xml。配置应如下所示:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.sergialmar.domain" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">create-drop</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
</props>
</property>
</bean>
我不确定我是否理解您的问题,但是您的项目中没有剧院类,或者您不知道这个类,但是您有查询从剧院c中选择c?为什么不希望查询知道该类?你想达到什么目的?我不清楚。