当前位置: 首页 > 知识库问答 >
问题:

查询:如何选择特定列

赵高韵
2023-03-14

我正在使用Spring数据jpa来创建服务。使用查询,我从多个表中提取记录。我在模型类中使用了映射。房间部门映射模型类与部门房间进行映射。房间与建筑相符。

我只想从建筑中选择建筑名称。

谁能告诉我怎么办?

查询DSL

query.select(Projections.bean(RoomDepartmentMapping.class,roomDepartmentMapping.nRoomAllocationId,roomDepartmentMapping.sStatus,
        Projections.bean(Department.class,department.nDeptId,department.sClientDeptId,department.sDeptName).as("department"),
        Projections.bean(Room.class,room.nRoomId,room.sFloor,room.sRoomNumber,room.nBuildId,room.nCampusId,room.building).as("room")))           
             .from(roomDepartmentMapping);

结果

[
  {
    "nRoomAllocationId": 1,
    "sStatus": "A",
    "department": {
      "nDeptId": 21920,
      "sDeptName": "Unassignable Space",
      "sClientDeptId": "BBBBBB"
    },
    "room": {
      "nRoomId": 883886,
      "nCampusId": 231,
      "nBuildId": 9713,
      "sFloor": "9",
      "sRoomNumber": "914",
      "building": {
        "nBuildingId": 9713,
        "sBuildName": "Bronk Laboratory",
        "sClientBuildId": "406",
        "nBuildingInstId": 60,
        "nTempBuildingId": 2,
        "nNoOfFloors": 0
      },
      "nroomId": 883886
    }
  },
...
...
]

共有1个答案

田嘉慕
2023-03-14

QueryDsl似乎没有提供自定义要显示的字段的方法,选择是使用jackson的@JsonProperty(serialized=false),它将隐藏不想在json字符串中显示的属性。

 类似资料:
  • 但是我在遗留系统上有一个具有许多属性的对象,我只想选择几个,尽管我知道选择几个属性通常是很快的。 如果不使用条件查询,这可能吗?

  • 我想显示“users”表中两个指定列“first_name”和“pic”的所有值。我正在尝试“Pulk”,但它在echo时显示为json格式。但我需要展示给大家看,一些东西——‘John pic’。求求你,有人帮帮我。这是我在“索引”中的示例代码。刀身php的吼声-

  • 我将html写成 现在我希望如果选项是1,那么它应该被选择为 请帮帮我!!!

  • 问题内容: 让我以简单的方式向您展示 此查询在phpmysql上同时运行正常,但在.php页面上查询时未检测到原始数据 我只是在建立英语至马拉雅拉姆语和马拉雅拉姆语至英语词典 该网站是http://www.chatfitness.com/ 从mysql接收到malayalam单词,在英语单词的基础上可以正常工作。 不幸的是,收到英语单词不能正常工作:( 我对两个函数使用相同的查询,这是用英文单词搜

  • 问题内容: 我有一个正在处理的查询,我想增加一个字段并在键值不同时重新启动计数器。 我知道这段代码行不通。以编程方式,这就是我想要的… …最终结果看起来像这样: 是的,我坚持使用SQL2k。否则,该row_number()将起作用。 问题答案: 假设一个表: 在Microsoft SQL Server 2000中获得此权限的一种方法是使用子查询对具有相同ID和较低顺序的行进行计数。 提示: 现在是

  • 问题内容: 在MS Access中,我想在选择查询的返回结果中插入新列。新列的每一行都具有相同的值。例如,我的选择返回列A,B,而我希望C成为选择查询创建的新列: 问题答案: