gpt4 book ai didi

java - org.springframework.dao.EmptyResultDataAccessException : No class com. jea.user.ID为x的用户实体存在

转载 作者:行者123 更新时间:2023-12-02 10:07:00 26 4
gpt4 key购买 nike

问题

我在 Spring Boot 中有一个带有 JPA 和 Spring Security 的 REST API。当我尝试按 ID 删除数据库中的现有用户对象时,收到以下错误消息:

org.springframework.dao.EmptyResultDataAccessException: No class com.jea.user.User entity with id 3754c59a-20c5-4c6a-8ddd-62fc49809946 exists

我作为路径变量提供给该方法的 ID 与我获取所有用户时返回的 ID 完全相同。在我的 Java 模型中,ID 保存为 UUID,并在数据库中 JPA 创建一个 BINARY(255) 列。

下面是数据库中我的 JSON 用户对象

{
"id": "3754c59a-20c5-4c6a-8ddd-62fc49809946",
"profilePicture": null,
"username": "svennieboy",
"password": "$2a$10$iZBq8gRsIPqYShu03qJ/2Ou4FWpRPMCs4kqrfo9zIcXozchR41yRC",
"email": "s@live.nl",
"role": "ROLE_USER",
"location": null,
"website": null,
"biography": null,
"allTweets": [],
"recentTweets": [],
"followers": [],
"following": []
}

用户模型

@Entity
@Table(name = "account")
public class User {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID id;

//Removed code for brevity

用户 Controller 方法

@DeleteMapping("/users/{id}")
public ResponseEntity<String> deleteUser(@PathVariable UUID id) {
userService.deleteUser(id);
return new ResponseEntity<>("User deleted", HttpStatus.OK);
}

用户服务方式

 public void deleteUser(UUID id){
userRepository.deleteById(id);
}

用户存储库

public interface UserRepository extends CrudRepository<User, UUID> {
}

请向我解释一下出了什么问题,因为我一无所知。

最佳答案

我将用户模型中 ID 的注释更改为这个,现在它可以工作了!所以希望其他人会发现这个答案非常有用。

@Entity
@Table(name = "account")
public class User {

@Id
@GeneratedValue( generator = "uuid2" )
@GenericGenerator( name = "uuid2", strategy = "uuid2" )
@Column( name = "id", columnDefinition = "BINARY(16)" )
private UUID id;

关于java - org.springframework.dao.EmptyResultDataAccessException : No class com. jea.user.ID为x的用户实体存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55282056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com