小编Ans*_*mad的帖子

Spring Data JPA - 多个EnableJpaRepositories

我的应用程序有多个数据源,因此我基于此URL创建了两个数据源配置类 .

但是在运行spring boot应用程序时遇到错误

说明:com.cavion.services.UserDataService中的字段userDataRepo需要一个名为"entityManagerFactory"的bean,该bean无法找到.操作:考虑在配置中定义名为"entityManagerFactory"的bean.

从StackOverflow上的这个问题帮助我找出问题.我需要在我的JPA存储库中指定entityManagerFactoryRef.

但我有许多存储库类,其中一些使用Entitymanager'A',其中一些使用'B'.我目前的春季启动应用程序类是这样的

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
    DataSourceTransactionManagerAutoConfiguration.class })
@EnableTransactionManagement
@EntityScan("com.info.entity")
@ComponentScan({"com.info.services","com.info.restcontroller"})
@EnableJpaRepositories("com.info.repositories")
public class CavionApplication {

public static void main(String[] args) {
    SpringApplication.run(CavionApplication.class, args);
}
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
    return args -> {

        System.out.println("Let's inspect the beans provided by Spring Boot:");

        String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        for (String beanName : beanNames) {
            System.out.println(beanName);
        }

    };
}}
Run Code Online (Sandbox Code Playgroud)

我在Spring引导类上给出了EnableJpaRepositories,那么如何配置多个EnableJpaRepositories以便我可以配置多个entityManagerFactory?

请建议设置多个数据源的最佳方法.

spring hibernate jpa datasource spring-data-jpa

19
推荐指数
1
解决办法
3万
查看次数

Spring Data JPA - 如何将Query结果转换为实体类

我使用Spring Data JPA和spring boot应用程序.我有一个具有很少属性的实体类.考虑我有10个与该实体关联的属性User,我想只检索其中的几个(用户名,密码,名字,姓氏,电子邮件).

所以我编写了一个查询来只获取5个字段,但该方法不返回实体对象,而是返回一个普通对象.

如何将查询结果强制转换为Spring Data JPA中的实体?

@Query("select userName,password,firstName,lastName,email from User")
public List<User> getUsers();
Run Code Online (Sandbox Code Playgroud)

java orm spring jpql spring-data-jpa

6
推荐指数
1
解决办法
3223
查看次数

Spring Boot Rest控制器未将请求主体转换为自定义对象

我有使用弹簧支架控制器的弹簧启动应用程序。这是控制器,下面是响应。我正在使用邮递员工具向此控制器发送请求。并发送内容类型为application / json

    @RequestMapping(value = "/test", method = RequestMethod.POST)
public String test(@RequestBody WebApp webapp, @RequestBody String propertyFiles, @RequestBody String) {
    System.out.println("webapp :"+webapp);
    System.out.println("propertyFiles :"+propertyFiles);
    System.out.println("propertyText :"+propertyText);

    return "ok good";
}
Run Code Online (Sandbox Code Playgroud)

2018-03-21 12:18:47.732警告8520-[nio-8099-exec-3] .wsmsDefaultHandlerExceptionResolver:由处理程序执行引起的已解决异常:org.springframework.http.converter.HttpMessageNotReadableException:读取时发生I / O错误输入消息;嵌套异常为java.io.IOException:流关闭

这是我的邮递员要求

{
"webapp":{"webappName":"cavion17","path":"ud1","isQA":true},
"propertyFiles":"vchannel",
"propertytText":"demo property"}
Run Code Online (Sandbox Code Playgroud)

我尝试通过删除RequestBody批注来进行尝试,然后能够命中该服务,但是param对象将被接收为null。

因此,请提出如何在restcontroller中检索对象的建议?

java spring spring-data-rest spring-boot

1
推荐指数
1
解决办法
1万
查看次数