Thursday, 1 August 2024

@JsonProperty at DAO layer

 @JsonProperty at DAO layer will not work some time.

If you want to map data in proper way use. Bean field name as same as table name.

If your columan name is player_name in table 

and in bean if you mention like this 

@JsonBeanProperty("player_name")

private String playerFirstName 


then data will not mapp .

Make it same as player_name just remove _ with camplecase .



@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@Builder
public class DummyClass {
@JsonProperty("leaderboard_requested_to_setcurrent")
private String leaderboardRequestedToSetCurrent;

@JsonProperty("workos_conn_id")
private String workConnId;

@JsonProperty("workos_org_id")
private String workOrgId;

@JsonProperty("workos_sso_enable")
private Integer workSsoEnable;
}
when I am using @JsonProperty.
jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(DummyClass.class), companyId);
I am getting null but when I am using

@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@Builder
public class DummyClass {

private String leaderboard_requested_to_setcurrent;


private String workos_conn_id;

private String workos_org_id;

private Integer workos_sso_enable;
}

 

 

 

 

Working class
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@Builder
public class DummyClass {

@JsonProperty("leaderboard_requested_to_setcurrent")
private String leaderboardRequestedToSetCurrent;

@JsonProperty("workos_conn_id")
private String workosConnId;

@JsonProperty("workos_org_id")
private String workosOrgId;

@JsonProperty("workos_sso_enable")
private Integer workosSsoEnable;

@JsonProperty("leaderboard_scheduled_on")
private String leaderboardScheduledOn;

}

 

 

 

 

 

 


No comments:

Post a Comment