java - @GetMapping 不序列化 ID

标签 java spring-boot java-8 spring-boot-jpa

我在 Spring boot 中遇到了 @GetMapping 的问题。

关于我的 @GetMapping 函数,在从数据库中获取所有数据时,它没有在此模型上序列化我的 id:

//User.java
@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    @Column(name = "username")
    private String username;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "joined_date")
    @CreatedDate
    private Date joinedDate;

    @Column(name = "password")
    private String password;

    @Column(name = "bio")
    private String bio;

    @Column(name = "email")
    private String email;
}

试了很多方法都解决不了。即使是这个问题:Spring boot @ResponseBody doesn't serialize entity id

这是下图:

The ids doesn't serialized in json

最佳答案

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

一个解决方案是使用 Integer 包装器类而不是 int。 int 默认值为 0,Integer 的默认值为 null。

关于java - @GetMapping 不序列化 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54529598/

相关文章:

java - 在 Sqlite 数据库中存储 *.patt 文件

java - 如何将属性文件放置在 Eclipse 中类路径中 .jar 前面的目录中?

annotations - Glassfish 上的 Spring Boot

java - 由于 Solr 依赖性,Spring Actuator 状态下降

java - 获取在封闭范围内定义的局部变量必须是最终的或有效的最终

java - 填写 list <?扩展 Foo>

java - 为什么synchronized函数不阻止进入? (JAVA)

java - 应用程序范围记录器的最佳实践

java - 在 H2 [SPRING-BOOT] 的 NamedParameterJDBCTemplate 上使用整数时的未知数据类型

java - 如何使用 FXML 在 JavaFX 中动态创建选项卡?