java - 不是托管类型:com.mycompany.onlineshop.entities.FirstName 类
问题描述
我正在尝试在 userController 类中显示一个自定义对象“FirstName”。基本上我希望它只返回它获得的 customer_id 的名字,但它抛出了一个错误
Caused by: java.lang.IllegalArgumentException: Not a managed type: class com.mycompany.onlineshop.entities.FirstName
at org.hibernate.metamodel.internal.MetamodelImpl.managedType(MetamodelImpl.java:582) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
at org.hibernate.metamodel.internal.MetamodelImpl.managedType(MetamodelImpl.java:85) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.<init>(JpaMetamodelEntityInformation.java:75) ~[spring-data-jpa-2.4.3.jar:2.4.3]
at org.springframework.data.jpa.repository.support.JpaEntityInformationSupport.getEntityInformation(JpaEntityInformationSupport.java:66) ~[spring-data-jpa-2.4.3.jar:2.4.3]
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getEntityInformation(JpaRepositoryFactory.java:229) ~[spring-data-jpa-2.4.3.jar:2.4.3]
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:179) ~[spring-data-jpa-2.4.3.jar:2.4.3]
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:162) ~[spring-data-jpa-2.4.3.jar:2.4.3]
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:72) ~[spring-data-jpa-2.4.3.jar:2.4.3]
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:281) ~[spring-data-commons-2.4.3.jar:2.4.3]
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$6(RepositoryFactoryBeanSupport.java:326) ~[spring-data-commons-2.4.3.jar:2.4.3]
at org.springframework.data.util.Lazy.getNullable(Lazy.java:230) ~[spring-data-commons-2.4.3.jar:2.4.3]
at org.springframework.data.util.Lazy.get(Lazy.java:114) ~[spring-data-commons-2.4.3.jar:2.4.3]
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:329) ~[spring-data-commons-2.4.3.jar:2.4.3]
at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:144) ~[spring-data-jpa-2.4.3.jar:2.4.3]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847) ~[spring-beans-5.3.3.jar:5.3.3]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784) ~[spring-beans-5.3.3.jar:5.3.3]
... 30 common frames omitted
名字.java
public class FirstName {
private String firstName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public FirstName(String firstName) {
this.firstName = firstName;
}
}
FirstNameRepo.java
@Repository
public interface FirstNameRepo extends JpaRepository<FirstName, Long> {
@Query("select first_name from users_table where customer_id = ?1")
FirstName getFirstNameofUser(long customer_id);
}
用户控制器.java
@RestController
@RequestMapping("api/users")
public class UserController {
@Autowired
private UserRepo userRepo;
@Autowired
private FirstNameRepo firstNameRepo;
@GetMapping
public List<User> getAllUsers(){
return this.userRepo.findAll();
}
@GetMapping("/firstName/{id}")
public FirstName getUserById(@PathVariable(value = "id") long userId){
return this.firstNameRepo.getFirstNameofUser(userId);
}
}
我是 Java Springboot 的初学者,如果我错过了什么,请放轻松。我计划向 FirstName 添加更多属性,但为简单起见,我只有名字。
解决方案
推荐阅读
- autodesk-forge - Autodesk Forge 导入 IFC 失败
- ios - 二进制文件已从 iTunesConnect 的活动中删除
- java - 如何从 Java Activity 传递数据以响应本机?
- git - “blob”真的意味着 git 中的“二进制大对象”吗?
- angular - 尝试将输入类型实现为角度材料中的文件上传
- java - Apache Oltu 以外的 Java OAuthClient
- c# - C# - 从 Directory.GetDirectories() 和 Directory.GetFiles() 中排除目录和文件
- javascript - JavaScript 数组自行排序
- mysql - 获取加入第二个表的聚合平均值并将它们显示在第一个表中的每个值旁边
- angular - 带有文件上传器提交事件的角度表单不起作用