Hibernate关系和AngularJS

时间:2015-09-11 16:00:33

标签: json angularjs hibernate jpa

我在Hibernate中的旅行者旅行之间存在这种关系:

enter image description here

如果我想为旅行者1 创建一个新旅行,我访问路线 / frontend /#/ trip-creation / 1 ,这里我有一个表格:

enter image description here

[模板摘录]

        <form novalidate="novalidate" class="form-horizontal">
          <md-content class="md-padding">
            <div layout layout-sm="column">
              <md-input-container flex>
                <label>Vorname</label>
                <input ng-model="traveler.firstName" disabled>
              </md-input-container>
              <md-input-container flex>
                <label>Nachname</label>
                <input ng-model="traveler.lastName" disabled>
              </md-input-container>
            </div>
            <div layout layout-sm="column">
              <md-input-container flex>
                <label>Wert</label>
                <input required type="number" step="any" name="rate" ng-model="trip.rate" min="0" max="9999999">
              </md-input-container>
              <md-input-container flex>
                <md-select ng-model="trip.currency" placeholder="€">
                  <md-option ng-value="currency" ng-repeat="currency in getCurrencies()">{{currency}}</md-option>
                </md-select>
              </md-input-container>
            </div>
            <div layout layout-sm="column">
              <md-input-container flex>
                <label>Beschreibung</label>
                <textarea ng-model="trip.description" columns="1" md-maxlength="150"></textarea>
              </md-input-container>
            </div>
...

访问$routeParams.id我可以获取旅行者1 的详细信息,例如 firstName(= Marcel) lastName 以及 traveler_id

$scope.traveler = TravelerFactory.show({id: $routeParams.id});

这是 Traveler 对象的示例。它包含到目前为止所有旅行者 旅行者

[{"traveler_id":1,"company_id":0,"account":false,"firstName":"Marcel","middleName":null,"lastName":"Schmitt","gender":null,"trips":[],"email":null}]

我的问题:

  1. 如何将旅行者1 与新创建的旅行

    联系起来

    [{&#34; trip_id&#34;:2,的&#34;旅行者&#34;:空下,&#34;货币&#34;:空,&#34;速率& #34;:100,&#34;描述&#34;:&#34; Flug&#34;&#34; dateCreated会&#34;:空}]

  2. 这是映射现实的正确方法吗?

  3. 谢谢!

    其他信息//后端:Java,Hibernate 4.11,SpringMVC //前端:AngularJS 1.4.3

1 个答案:

答案 0 :(得分:0)

考虑一下您的REST服务。

旅行者信息URL(旅行者对象):

/traveler/:id  ->  #/traveler/1

新旅行(旅行者对象):

/traveler/:id/create  ->  #/traveler/1/create

现有旅行网址(旅行对象):

/traveler/:id/travel/:travel_id  ->  #/traveler/1/travel/123

编辑现有旅行网址(旅行对象):

/traveler/:id/travel/:travel_id/edit  ->  #/traveler/1/travel/123/edit

因此,在您添加新旅行后,使用新的旅行ID成功回电(例如:travel_id = 456),然后重定向到#/ traveler / 1 / travel / 456

我相信你可以改进它,只是例子