【发布时间】:2019-04-08 02:52:33
【问题描述】:
将返回响应的控制器类的代码:
@RestController
@RequestMapping("/ProcessInfo/1.0.0")
public class RestController {
@ApiOperation(value = "getdeployments", notes = "This REST API is used to get deployments")
@GetMapping(value = "/getdeployments")
private List<ActivitiProcessDeployment> getdeployments() {
return ActivitiGetDeploymentRepository.getDeployment();
}
以下是具有一对一映射的两个实体类。
@Entity
@NamedQueries({@NamedQuery(name="ActivitiProcessDeployment.getDeployment", query="SELECT a.id,a.name,a.category,a.tenantId,a.deployTime,b.category,b.key,b.resource_name,b.version,b.deploymentId,b.diagramResourceName,b.description,b.id,b.hasStartFormKey,b.hasGraphicalNotation_,b.suspensionState,b.tenant_id_ FROM ActivitiProcessDeployment a INNER JOIN ActivitiProcessDefinition b ON a.id=b.deploymentId ORDER BY a.id")})
@Table(name="act_re_deployment")
public class ActivitiProcessDeployment implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@JsonProperty
@Column(name="id_")
private String id;
@JsonProperty
@Column(name="name_")
private String name;
@JsonProperty
@Column(name="category_")
private String category;
@JsonProperty
@Column(name="tenant_id_")
private String tenantId;
@JsonProperty
@Column(name="deploy_time_")
private Date deployTime;
@JsonProperty
@OneToOne( cascade = CascadeType.ALL,fetch = FetchType.LAZY)
@JoinColumn(name="deploymentId", nullable=true)
private ActivitiProcessDefinition activitiProcessDefinition;
}
另一个实体类
@Entity
@Table(name="act_re_procdef")
public class ActivitiProcessDefinition implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@JsonProperty("process_def")
@Id
@Column(name="id_")
private String id;
@JsonIgnore
@Column(name="rev_")
private String rev;
@JsonProperty
@Column(name="category_")
private String category;
@JsonProperty
@Column(name="name_")
private String name;
@JsonProperty
@Column(name="key_")
private String key;
@JsonProperty
@Column(name="resource_name_")
private String resource_name;
@JsonProperty
@Column(name="version_")
private String version;
@JsonProperty
@Column(name="deployment_id_")
private String deploymentId;
}
JPA 存储库扩展 crud 存储库并调用实体类中声明的命名查询。
@Repository
public interface ActivitiGetDeploymentRepository extends JpaRepository<ActivitiProcessDeployment, Long> {
public List<ActivitiProcessDeployment> getDeployment();
}
我得到的回应是:
[
[
"1",
"ExecutionTaskListener",
null,
"-1234",
"2018-10-29T07:31:48.373+0000",
"http://www.activiti.org/test",
"myProcess",
"ExecutionTaskListener.bpmn20.xml",
"1",
"1",
"ExecutionTaskListener.myProcess.png",
null,
"myProcess:1:4",
"f",
"t",
"1",
"-1234"
],
[
"13",
"multiinstance (1)",
null,
"-1234",
"2018-10-29T07:31:49.901+0000",
"http://www.activiti.org/test",
"multiinstance",
"multiinstance.bpmn20.xml",
"1",
"13",
"multiinstance.multiinstance.png",
null,
"multiinstance:1:16",
"f",
"t",
"1",
"-1234"
],
[
"23",
"testing",
null,
"-1234",
"2018-10-29T07:31:50.591+0000",
"http://www.activiti.org/test",
"myProcess",
"testing.bpmn20.xml",
"2",
"23",
"testing.myProcess.png",
null,
"myProcess:2:26",
"f",
"t",
"1",
"-1234"
]
]
如上面的响应所示,我只得到 json 值,我的意思是只有没有列名的表值。那么,如何获取与响应对应键映射的 json 响应。
【问题讨论】:
-
您是通过某些控制器获得响应还是如何获得响应?
-
是的,使用控制器
-
为此添加代码,尤其是在您使用并返回使用
getDeployment()获取的数据的地方 -
我已经添加了控制器类
-
为什么有命名查询?让结果变平?
标签: spring-boot jpa spring-data-jpa