Java 如何使用SpringBoot+;JPA?

Java 如何使用SpringBoot+;JPA?,java,spring-boot,Java,Spring Boot,我有一个试图保存到数据库中的负载,每当我发布负载时,它都会将映射的JSON对象返回为null,而不是传递的负载中的值 下面是JSON负载 { "authStatus": { "authStatusCode": 131, "authStatusDescription": "API call doesn't need authentication" }, "

我有一个试图保存到数据库中的负载,每当我发布负载时,它都会将映射的JSON对象返回为null,而不是传递的负载中的值

下面是JSON负载

{
    "authStatus": {
        "authStatusCode": 131,
        "authStatusDescription": "API call doesn't need authentication"
    },
    "results": {
        "beepTransactionID": 10764659,
        "payerTransactionID": "5f51eed7347a7",
        "statusCode": "188",
        "statusDescription": "Response was received"
    }
}
把它寄给邮递员后

{
    "id": 14,
    "authStatusCode": null,
    "authStatusDescription": null,
    "beepTransactionID": null,
    "payerTransactionID": null,
    "statusCode": null,
    "statusDescription": null
}
我的管制员

     @PostMapping("/payload")
        public Payload createPayload(@Valid @RequestBody Payload payload) {
            return payloadRepository.save(payload);
        }
我的模型

@Entity
@Table(name = "payload", schema = "public")
    public class Payload {
        private long id;
        Integer authStatusCode;
        String authStatusDescription;
        Integer beepTransactionID;
        String payerTransactionID;
        String statusCode;
        String statusDescription;
    
        public Payload(){
    
        }
    
    //getters and setters

您需要中间对象,
Payload
需要更深一点,以便与JSON对象的格式完全匹配

public class Payload {
    AuthStatus authStatus;
    Results results;
    // Add boilerplate code here
}

public class AuthStatus {
    Integer authStatusCode;
    String authStatusDescription;
    // Add boilerplate code here
}

public class Results {
    Integer beepTransactionID;
    String payerTransactionID;
    String statusCode;
    String statusDescription;
    // Add boilerplate code here
}

您需要中间对象,
Payload
需要更深一点,以便与JSON对象的格式完全匹配

public class Payload {
    AuthStatus authStatus;
    Results results;
    // Add boilerplate code here
}

public class AuthStatus {
    Integer authStatusCode;
    String authStatusDescription;
    // Add boilerplate code here
}

public class Results {
    Integer beepTransactionID;
    String payerTransactionID;
    String statusCode;
    String statusDescription;
    // Add boilerplate code here
}
试用

@Type(type = "jsonb")
@Column(columnDefinition = "jsonb")
要按原样将负载存储为JsonNode格式,请尝试使用

@Type(type = "jsonb")
@Column(columnDefinition = "jsonb")

要按原样将有效负载存储为JsonNode格式,我在哪里设置上述的getter和setter,以及如何调用save?Raymond,自己添加getter和setter没有问题。保存机制保持不变。
public class AuthStatus
public class Results
抱怨我没有将它们公开,如果它们是公开的,则抛出错误在自己的文件中创建它们哪个类将具有实体注释和表名?哪一个将包含主id?嗨@Yassin,我在哪里设置上面的getter和setter,以及如何调用save?Raymond,自己添加getter和setter没有问题。保存机制保持不变。
public class AuthStatus
public class Results
抱怨我没有将它们公开,如果它们是公开的,则抛出错误在自己的文件中创建它们哪个类将具有实体注释和表名?哪一个将包含主id?hi@dhiraj,我想从json字符串中提取特定值并插入到列和行,而不是整个jsonhi@dhiraj,我想从json字符串中提取特定值并插入到列和行,而不是整个JSONA如果有三个表,一个用于有效负载,一个用于Authstatus,另一个用于results,或者它只是sameHi@venkat相同的表您有三个表吗?一个用于payload,一个用于Authstatus,另一个用于results,或者它只是sameHi@venkat相同的表