2013-06-27 2 views
3

У меня есть рабочая точка OData, где я могу посмотреть отдельные точки данных. (Например, localhost/myData/person (10) имеет данные 10-го человека.)JayData не заполняет объекты из OData

Однако значения моих объектов в javascript JayData не заполняются. При печати:

console.log (лицо [10]);

Каждый параметр объекта в initData не определен. enter image description here

Мой полный сценарий:

var ctx = new WebApplication.resource_dbEntities({ name: 'oData', oDataServiceHost: 'http://localhost:8080/Resource/example.svc' }); 

    ctx.onReady(function() { 
      ctx.person.toArray().then(function(person){ 
      console.log("Person[10] is:"); 
      console.log(person[10]); 
       person.forEach(function(p) { 
        //Always prints "undefined" :(
        console.log(p.person_lastname); 
       }); 
      }) 

      .fail(function(r){ 
      console.log(r); 
      }); 
     }); 

UPDATE: Сервер определенно отправки данных - см клип в сети панеле на веб-странице. enter image description here

Примечание: Я разместил дополнительную информацию на JayData forum.

ответ

1

Я понял вопрос. Eclipse автоматически генерирует сущности из mySQL и связывает это с persistence.xml. Переменные (хотя они были частными ?!) в person.java не соответствовали переменным initData.

После того, как я открыл Person.java и изменил

@Column(name="project_id") 
private int projectId;  
@Column(name="project_budget") 
private int projectBudget; 

@Column(name="project_client") 
private String projectClient; 

@Temporal(TemporalType.DATE) 
@Column(name="project_enddate") 
private Date projectEnddate; 

@Column(name="project_ffm") 
private int projectFfm; 

@Column(name="project_manager") 
private int projectManager; 

@Column(name="project_name") 
private String projectName; 

@Column(name="project_number") 
private String projectNumber; 

@Temporal(TemporalType.DATE) 
@Column(name="project_startdate") 
private Date projectStartdate; 

@Column(name="project_status") 
private int projectStatus; 

Для этого:

@Id 
@Column(name="project_id") 
private int project_id; 

@Column(name="project_budget") 
private int project_budget; 

@Column(name="project_client") 
private String project_client; 

@Temporal(TemporalType.DATE) 
@Column(name="project_enddate") 
private Date project_enddate; 

@Column(name="project_ffm") 
private int project_ffm; 

@Column(name="project_manager") 
private int project_manager; 

@Column(name="project_name") 
private String project_name; 

@Column(name="project_number") 
private String project_number; 

@Temporal(TemporalType.DATE) 
@Column(name="project_startdate") 
private Date project_startdate; 

@Column(name="project_status") 
private int project_status; 

Все работало. Спасибо всем за помощь.

1

Не требуется initData. Сначала просмотрите сетевую панель вашего браузера и проверьте, отправляет ли сервер какие-либо данные.

+0

Благодарим за отзыв - я обновил вопрос, чтобы отразить ваше предложение. – AllieCat