我已经实现了Spring数据存储库,它使用@RepositoryRestResource
注释扩展MongoRepository,将它们标记为RESTendpoint。但当映射请求id时,会得到以下异常
java.lang.IllegalArgumentException: Couldn't find PersistentEntity for type class io.sample.crm.models.Merchant!
存储库:
@RepositoryRestResource(collectionResourceRel = "account",path = "account")
public interface MerchantRepository extends MongoRepository<Merchant,String> {
}
GET 请求我正在尝试:
http://localhost:9090/crm/account/
回应:
{
"cause": null,
"message": "Couldn't find PersistentEntity for type class io.apptizer.crm.apptizercrmservice.models.Merchant!"
}
另外,我为每个存储库配置了两个数据库。
Application.yml文件:
spring:
autoconfigure:
exclude: org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration
mongodb:
primary:
host: 127.0.0.1
port: 27017
database: db_sample_admin_crm
rest:
base-path: /crm
secondary:
host: 127.0.0.1
port: 27017
database: sample_lead_forms
rest:
base-path: /reports
主要类 :
@SpringBootApplication(scanBasePackages = "io.example")
@Configuration
@ComponentScan({"io.example"})
@EntityScan("io.example")
public class App {
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
InitAuth.initialize();
InitAuth.generateToken();
}
}
这里会出什么问题?
首先检查是否正确添加了所有依赖项。需要以下依赖关系:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
错误响应显示找不到类型classio.apptizer.crm.apptizercrmservice.models.Merchant的PersistentEntity!
,因此Merchant类可能不在类路径中,并且Spring无法识别域对象。尝试为商家提供一个实体类,例如:
public class Merchant{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
@RepositoryRestResource(collectionResourceRel = "account", path = "account")
public interface MerchantRepository extends MongoRepository<Merchant, String> {
List<Person> findByLastName(@Param("name") String name);
}
之后,检查您是否正确地提供了所有注释。尝试将控制器添加到主应用程序的组件扫描中:
@SpringBootApplication
@EnableMongoRepositories("com.example.MerchantRepository")
@ComponentScan(basePackages = {"com.example"})
@EntityScan("com.example.mongo.Merchant")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@ComponentScan
告诉Spring在包中查找其他组件、配置和服务,允许它查找控制器。
参考这里。
当我遇到同样的问题时,我将@Id改为Long类型。
请检查您的扩展MongoRepository
我读了很多关于如何使用主/从范式实现单个作业的并行处理和分块的内容。考虑一个已经实现的Spring批处理解决方案,该解决方案打算在独立服务器上运行。通过最少的重构,我希望使其能够水平扩展,并在生产操作中更具弹性。速度和效率不是目标。 http://www.mkyong.com/spring-batch/spring-batch-hello-world-example/ 在以下示例中,使用连接到的作
问题内容: 我们正在使用SQL Server 2008,其中一项要求是在为系统定义的实体上具有可扩展的用户定义属性。例如,我们可能有一个名为Doctor的实体,我们希望系统管理员能够定义通常不在系统中的其他属性。这些属性很可能是链接父表或联接表的查询条件所必需的。 将有定义属性(名称,描述,类型)等的表,但是我的问题是实际数据值的存储。 我不是DBA(只是一个假装成程序员的DBA),但我首先想到的
Spring Boot应用程序在启动服务器时抛出异常。 异常是: 上下文初始化期间遇到异常-取消刷新尝试:org。springframework。豆。工厂未满足的依赖项异常:创建名为“userController”的bean时出错:未满足的依赖项通过字段“userService”表示;嵌套的异常是org。springframework。豆。工厂未满足的依赖项异常:创建名为“userService”
这类似于JPA映射带有继承的视图和表,但由于接受的答案不能让我满意,所以我决定问自己的问题。 我有一个基于类,它包含所有实体的公共字段 我想像现在一样读/写,但我不知道如何映射,以便JPA查询可以使用它。我用做了一些努力,但没有成功。如果我将中的所有字段复制到中,那么我的应用程序将按预期运行,但这并不适合我。如何映射视图以便使用继承?
一个轻量级的缓存实现,目前已支持 Redis Memcache Memcached File 四种储存模式 仓库地址: Github 安装 composer require easyswoole/cache 注意: 请确保框架已经引入了 composer 的 autoload.php 文件,否则报类不存在的错误 快速入门 如果不做任何设置,默认使用File驱动,开箱即用 use easySwool
Hi这似乎适用于添加额外的方法,但不适用于在现有方法上添加新的注释。假设我们有以下课程: