gpt4 book ai didi

mysql - 在实体管理器上查询时需要避免使用 “in PersistenceUnit”

转载 作者:行者123 更新时间:2023-11-29 13:36:49 25 4
gpt4 key购买 nike

我正在使用 jpa 和 spring,并在以下代码中出现错误;

@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"

我很欣赏任何想法

最诚挚的问候

最佳答案

您可以在 LocalContainerEntityManagerFactoryBean 定义(在 Spring 3.1 中提供)中使用属性 packagesToScan。如果您使用此方法,则无需再定义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>

关于mysql - 在实体管理器上查询时需要避免使用 “in PersistenceUnit”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18632398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com