SAP HANA Cloud Platform에서 Java로 간단한 프로젝트 관리 응용 프로그램을 만들고 싶습니다. 사용자는 프로젝트에 사람을 추가하고 프로젝트에서 일하는 사람의 근무 시간을 정의 할 수 있습니다.SAP HANA Cloud에서 영구 데이터 개체를 구성하고 사용하는 방법은 무엇입니까?
작은 응용 프로그램 논리를 성공적으로 만들었습니다. 그러나 영구 데이터 객체를 어떻게 정의해야하는지 명확하지 않습니다. 올바른 방법으로 데이터를 저장하고 읽는 방법.
"Project"및 "Person"클래스를 만들어 데이터를 추가했습니다 (아래 참조).
사람들과 프로젝트 사이에 관계를 만들어 프로젝트에 소비 한 시간을 어떻게 저장할 수 있습니까?
ERM에서 나는 사람과 프로젝트 간의 1 : n 관계와 "projectID", "personID"및 "workingHours"가있는 테이블 간의 추가 테이블을 알고 있습니다.
지금까지 앱이 기능 "addNewPerson"로 데이터를 기록합니다 :
addNewPerson : function(sFirstName, sLastName, oTable) {
var _this = this;
_this.odataServiceUrl = personsListOdataServiceUrl;
jQuery.ajax({
url : _this.odataServiceUrl + "/Person?$format=json",
type : 'POST',
contentType : 'application/json',
data : JSON.stringify({
firstName : sFirstName,
lastName : sLastName
}),
success : function(data) {
_this.getView().getModel().refresh();
oTable.unbindRows().bindRows("/Person");
},
error : function(jqXHR, textStatus, errorThrown) {
sap.ui.commons.MessageBox.alert("Failed to add person: " + textStatus+ "\n" + errorThrown);
}
}); },
데이터를 읽으려면 단순히 개체에 행을 결합한다.
데이터 개체를 올바르게 만들려면 어떻게해야합니까? 그리고 어떻게 데이터를 읽고 객체에 쓸 수 있습니까?
Person.java :
package com.sap.netweaver.cloud.sample;
import javax.persistence.*;
@Entity
@Table(name = "T_PERSON")
@NamedQuery(name = "AllPersons", query = "select p from Person p")
public class Person {
@Id
@GeneratedValue
private long id;
@Basic
private String firstName;
@Basic
private String lastName;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public void setFirstName(String param) {
this.firstName = param;
}
public String getFirstName() {
return firstName;
}
public void setLastName(String param) {
this.lastName = param;
}
public String getLastName() {
return lastName;
}
}
Project.java는 : 나를 위해
package com.sap.netweaver.cloud.sample;
import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@Entity
@Table(name = "T_PROJECT")
@NamedQuery(name = "AllProjects", query = "select p from Project p")
public class Project {
@Id
@GeneratedValue
private long id;
@Basic
private String projectName;
@Basic
private String projectDesc;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public void setProjectName(String param) {
this.projectName = param;
}
public String getProjectName() {
return projectName;
}
public void setProjectDesc(String param) {
this.projectDesc = param;
}
public String getProjectDesc() {
return projectDesc;
}
}
Timo Lakner의 블로그 게시물을 http://scn.sap.com/community/developer-center/cloud-platform/blog/2014/03/04/sflight-sample-http : show-how-to-use-jco와 rfc-to-premise-abap-system을 사용하여 유사한 기술 (JCo)을 사용하지만, 그가 제공 한 UI에서 일부 패턴을 다시 사용할 수 있습니다. 베스트, 루이 –