小编Man*_*mar的帖子

在Spring Boot、Hibernate中使用@Query注解查询JSON格式(键值对)结果

我的控制器

@GetMapping(value="/getAllDetails")
public List<PriceListEntity> getAllDetails() {
    return MyRepository.getAllDetails();
}
Run Code Online (Sandbox Code Playgroud)

我的仓库

@Repository
public interface MyRepository extends CrudRepository<TestNativeQ, String> {
    @Query( value="SELECT qplt.name price_list_name,  qplab.status_code, qplab.start_date, (SELECT charge_definition_code FROM oalfsaas_repl.QP_CHARGE_DEFINITIONS_B WHERE charge_definition_id=qplab.charge_definition_id  ) chargedefinitioncode "
            + "FROM  PriceListEntity qplab, PriceListLineEntity qplt "
            + " WHERE qplab.price_list_id  =qplt.price_list_id ", nativeQuery = false)
    public List<PriceListEntity> getAllDetails();
}
Run Code Online (Sandbox Code Playgroud)

实际结果:

[{"ABC", "DEF", "15/05/2018", "XXZ"}]
Run Code Online (Sandbox Code Playgroud)

预期结果

[{name: "ABC", statuscode: "DEF", startDate: "15/05/2018", chargedefintioncode: "XXZ"}]
Run Code Online (Sandbox Code Playgroud)

查询与多个表以及列级别的子查询连接。

json dto spring-data-jpa spring-boot jsonresponse

6
推荐指数
1
解决办法
4721
查看次数

Spring-Data-Jpa 中一对多映射的 JSON 结果错误

所有者实体:PriceListItemTest.java

@JsonPropertyOrder({"pricingUOMCode","lineTypeCode","primaryPricingUOMFlag","priceListId","itemId","priceListItemId"})
@Entity
@Table(name = "QP_PRICE_LIST_ITEMS")
public class PriceListItemTest implements Serializable{

    @Column(name = "price_list_item_id")    
    private String priceListItemId;

    @Column(name = "pricing_uom_code")  
    private String pricingUOMCode; 

    @Column(name = "line_type_code")    
    private String lineTypeCode; 

    @Column(name = "primary_pricing_uom_flag")  
    private String primaryPricingUOMFlag;

    @Id
    @Column(name = "item_id")   
    private String itemId;

    @OneToMany(mappedBy = "priceListItemsTest", cascade = CascadeType.ALL)
    private List<ItemDetailTest> itemDetailsTest;

    // getters and setters
}
Run Code Online (Sandbox Code Playgroud)

和 Entity2 : ItemDetailTest.java

@JsonPropertyOrder({"itemNumber","inventoryItemId","organizationId"})
@Entity
@Table(name = "egp_system_items_b")
public class ItemDetailTest implements Serializable {

    @Id
    @Column(name = "inventory_item_id") 
    private String inventoryItemId; 

    @Column(name = …
Run Code Online (Sandbox Code Playgroud)

java json one-to-many spring-data-jpa spring-boot

1
推荐指数
2
解决办法
6766
查看次数