Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
找不到Spring/Hibernate JPA NamedQuery_Spring_Hibernate_Jpa - Fatal编程技术网

找不到Spring/Hibernate JPA NamedQuery

找不到Spring/Hibernate JPA NamedQuery,spring,hibernate,jpa,Spring,Hibernate,Jpa,我有一个奇怪的问题:实体管理器无法创建命名查询,我得到了java.lang.IllegalArgumentException:当find和merge等方法工作时,找不到命名查询。createQuery也可以工作。我使用Hibernate作为JPA提供者,使用Spring作为DI容器。代码和配置如下所示: spring-beans.xml: jpadao.java 找到一个答案:Spring只是没有看到@Entity,所以实际上没有这样的@NamedQuery。现在我必须想一想,为什么这个配置不

我有一个奇怪的问题:实体管理器无法创建命名查询,我得到了java.lang.IllegalArgumentException:当find和merge等方法工作时,找不到命名查询。createQuery也可以工作。我使用Hibernate作为JPA提供者,使用Spring作为DI容器。代码和配置如下所示: spring-beans.xml:

jpadao.java


找到一个答案:Spring只是没有看到@Entity,所以实际上没有这样的@NamedQuery。现在我必须想一想,为什么这个配置不起作用:

<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="org.example.testapp.model"/>
<property name="jpaVendorAdapter" ref="jpaVendorAdapter" />

嗨,伊万,你发现问题出在哪里了吗。提前Thx
 @Entity
@NamedQueries({
    @NamedQuery(name="News.select", query="select n from News n order by news_date" ),
    @NamedQuery(name="News.delete", query="delete from News where id in :value_list")
})
@Table(name="news")
public class News {
public class JpaHibernateNewsDao implements Dao {

    @PersistenceContext
    private EntityManager entityManager;

    @SuppressWarnings("unchecked")
    @Override
    @Transactional
    public List<News> getList() throws DaoException {
        List<News> news = entityManager.createNamedQuery("News.select").getResultList();
        return news;
    }
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="org.example.testapp.model"/>
<property name="jpaVendorAdapter" ref="jpaVendorAdapter" />