How to convert Postgres Json array to Java model class

Viewed 175

I am working on POC in that I am getting Json data as return from Postgres function I want to map that data to java object.I am using hibernate type-52 vlad michea I had gone through his blog but there are example with entity . how can I convert Json data to Java model.I am able to get the data by registring the custom dialect with JsonNodeBinayType.But I want to get in List .do i need to custom object mapper implementation?

This is my Model class.

 public class CreateUserRequest {
    private String username;
    private List<String> authoritieses;
    private UserPhoneNumber primaryPhoneNumber;

}

public class CreateUserResponse{

    private CreateUserRequest user;
    private String message;

}

This is My method to call Postgres function

public List<CreateUserResponse> createUsers(List<CreateUserRequest> createUserRequest ) {
        StoredProcedureQuery query =  (StoredProcedureQuery) this.entityManager.createStoredProcedureQuery("create_users")
                .registerStoredProcedureParameter("create_user_request", CreateUserRequestHibernateType.class,
                        ParameterMode.IN)
                .registerStoredProcedureParameter("created_user", String.class, ParameterMode.IN);
        query.setParameter("create_user_request",
            createUserRequest.toArray(new CreateUserRequest[createUserRequest.size()]));
        query.setParameter("created_user", "'spring'");
 //     List<CreateUserResponse> response = (List<CreateUserResponse>) query.getSingleResult();
Object value =query.getSingleResult();
        return null;
    }

This is my function which return json

CREATE OR REPLACE FUNCTION "user".create_users
(create_user_request "user".create_user_request[],created_user character varying) 
RETURNS json AS $$
DECLARE
response "user".create_user_response[];
BEGIN
---Perform Operation and return the create user response
RETURN to_json(response);
END
$$ LANGUAGE 'plpgsql';
0 Answers
Related