java - 由 : java. lang.IllegalArgumentException : Not a managed type: & Caused by: org. hibernate.AnnotationException 引起:没有为实体指定标识符:

标签 java spring-boot spring-data-jpa

我创建了两个实体类。

角色实体:

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table (name ="roles")
public class RoleEntity {

@Id
@Column(name = "role_id")
private Integer roleId;
@Column(name = "role_name")
private String roleName;
//Getters
//Setters

用户实体:

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="user_master")
public class UserEntity {

@Id
private Integer id;
@Column(name = "user_name")
private String username;
@Column(name = "user_password")
private String password;
//getters
//setters

现在我有一个简单的 pojo,它将从这两个实体获取数据,稍后将在服务中使用。

import java.util.Set;

public class UserRoleAssociationEntity {

UserEntity user;
Set<RoleEntity> roles;
//getters
//setters

现在我在运行项目时遇到错误。

Caused by: java.lang.IllegalArgumentException: Not a managed type: class com.dataGuru.BusDirV3.Entities.UserRoleAssociationEntity

如果我使用 @entity 注释 UserRoleAssociationEntity 类,则会收到以下错误:

Caused by: org.hibernate.AnnotationException: No identifier specified for entity: com.dataGuru.BusDirV3.Entities.UserRoleAssociationEntity

我在这里面临的问题是什么以及该问题的解决方案。

最佳答案

您的类中需要有一个唯一的字段,用作该实体的标识符。 (带有@Id注释的字段`)

关于java - 由 : java. lang.IllegalArgumentException : Not a managed type: & Caused by: org. hibernate.AnnotationException 引起:没有为实体指定标识符:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54997344/

相关文章:

java - 无法在@OneToMany 关系spring 数据jpa 中删除

java - 如何在 textInputEditText 中添加图像 (X) 并清除 fragment 中的字段?

java - 启动时的 Liquibase 迁移无法使用 Spring-Boot

spring-mvc - 带有 XML 模板的 Spring Boot 和 Thymeleaf

java - 使用@PropertySource(SpringBoot)使用通配符读取多个属性文件

java - Spring 启动JPA : Use library to Bulk load data for MySQL

排序不适用于 Spring Boot 中的 Pageable

java - 从另一个方法调用引发异常的方法时,如何避免获得 "Missing return statement"?

java - IntelliJ 可以将我的旧字符串连接转换为 Java 14 中预览的新文本 block 功能吗?

java - 自定义排序 SQL hibernate Spring boot 2