Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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 春季JPA+;Hibernate无法使用JPARepository的findAll()获取记录_Spring_Hibernate_Spring Data_Spring Data Jpa_Jpql - Fatal编程技术网

Spring 春季JPA+;Hibernate无法使用JPARepository的findAll()获取记录

Spring 春季JPA+;Hibernate无法使用JPARepository的findAll()获取记录,spring,hibernate,spring-data,spring-data-jpa,jpql,Spring,Hibernate,Spring Data,Spring Data Jpa,Jpql,我使用以下代码创建了配置: @Configuration @EnableTransactionManagement @ComponentScan("Name of package") @EnableJpaRepositories("Name of package") public class Config { private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "hibernate.dialect"; p

我使用以下代码创建了配置:

@Configuration
@EnableTransactionManagement
@ComponentScan("Name of package")
@EnableJpaRepositories("Name of package")

public class Config  {
    private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "hibernate.dialect";
    private static final String PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN = "Name of package";

    @Bean
    public DataSource dataSource() {
         DriverManagerDataSource dataSource = new DriverManagerDataSource();
         dataSource.setDriverClassName("Driver Name");          
         dataSource.setUrl("Url");
         dataSource.setUsername("UserName");
         dataSource.setPassword("Password");
         return dataSource;
    }

    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
        LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
        entityManagerFactoryBean.setDataSource(dataSource());
        entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class);
        entityManagerFactoryBean.setPackagesToScan(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN);
        entityManagerFactoryBean.setJpaProperties(hibProperties());
        entityManagerFactoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
        return entityManagerFactoryBean;
    }

    private Properties hibProperties() {
        Properties properties = new Properties();
                properties.put(PROPERTY_NAME_HIBERNATE_DIALECT, "org.hibernate.dialect.DB2Dialect");
                properties.put("hibernate.default_schema","Schema Name");
                return properties;
    }

    @Bean
    public PlatformTransactionManager transactionManager(EntityManagerFactory emf){
          JpaTransactionManager transactionManager = new JpaTransactionManager();
          transactionManager.setEntityManagerFactory(emf);
          return transactionManager;
       }

    @Bean
    public PersistenceExceptionTranslationPostProcessor exceptionTranslation(){
          return new PersistenceExceptionTranslationPostProcessor();
       }
}
有一个实现JPARepository的自定义存储库接口。 我已经在controller中自动连接了自定义存储库,并尝试调用findAll()。但是该方法返回0,尽管DB中有3条记录。 我正在使用SpringWeb进行rest服务调用

实体类是用@Entity和@Table注释创建的。它有一个嵌入式键,该键使用@EmbeddedId注释进行注释

@Repository 
public interface EntityRepository extends JpaRepository<EntityTable, Long> { 
    @SuppressWarnings("unchecked") EntityTable save(EntityTable entityTable); 
} 
@存储库
公共接口EntityRepository扩展了JpaRepository{
@SuppressWarnings(“未选中”)EntityTable保存(EntityTable EntityTable);
} 

Entity table是使用db table映射的我的表的名称。

发布存储库接口代码。@repository public interface EntityRepository扩展了JpaRepository{@SuppressWarnings(“未选中”)EntityTable save(EntityTable EntityTable);}Entity table是使用db table映射的我的类的名称。不确定代码有什么问题。如果您能够无错误地调用findAll(),那么配置没有问题,但我仍然想确定。我没有收到任何错误。db凭据也正确。是否有其他可能影响检索的原因?@SpringUser如果您的
EntityTable
类正在使用
@EmbeddedId
,那么您的
EntityRepository
应该使用
extensedjparepository
而不是
extensedjparepository
。你能做出改变并进行测试吗。您还可以发布您的
控制器
课程吗?