Hibernate的关系和AngularJS [英] Hibernate relations and AngularJS
问题描述
我在Hibernate中的游客和行程之间的关系:
如果我想创建一个旅客一个新的跳闸1 下,我参观路线的 /前端/#/跳闸创建/ 1 并在这里我有一个表格:
[模板摘录]
<形式的novalidate =NOVALIDATE级=形横>
< MD-内容类=MD-填充>
< DIV布局布局SM =列>
< MD-输入容器弯曲>
<标签>&Vorname LT; /标签>
<输入NG模型=traveler.firstName残疾>
< / MD-输入容器>
< MD-输入容器弯曲>
<标签>&Nachname LT; /标签>
<输入NG模型=traveler.lastName残疾>
< / MD-输入容器>
< / DIV>
< DIV布局布局SM =列>
< MD-输入容器弯曲>
<标签>&范沃特LT; /标签>
<输入所需的类型=数字步=任何NAME =率NG-模式=trip.rate最小=0最大=9999999>
< / MD-输入容器>
< MD-输入容器弯曲>
< MD-NG选择模型=trip.currency占位符=€>
< MD-NG选项值=货币NG-重复=在getCurrencies货币()> {{}货币}< / MD选项>
< / MD-选择>
< / MD-输入容器>
< / DIV>
< DIV布局布局SM =列>
< MD-输入容器弯曲>
<标签>&Beschreibung LT; /标签>
< textarea的NG-模式=trip.description栏=1MD-MAXLENGTH =150>< / textarea的>
< / MD-输入容器>
< / DIV>
...
通过访问 $ routeParams.id
我可以得到的旅行者的细节1 喜欢的的firstName(=马塞尔),的lastName 的也 traveler_id 的
$ scope.traveler = TravelerFactory.show({ID:$ routeParams.id});
这是在旅行者对象的例子。它包含了所有在行程 旅行者迄今取得:
<$p$p><$c$c>[{\"traveler_id\":1,\"company_id\":0,\"account\":false,\"firstName\":\"Marcel\",\"middleName\":null,\"lastName\":\"Schmitt\",\"gender\":null,\"trips\":[],\"email\":null}]我的问题:
-
我怎么能与我的旅行者1 与新创建之旅
[{\"trip_id\":2,\"traveler\":null,\"currency\":null,\"rate\":100,\"description\":\"Flug\",\"dateCreated\":null}]
-
这是映射关系基本概念的正确方法?
感谢您!
更多信息//后端:Java中,Hibernate的4.11,//用SpringMVC前端:AngularJS 1.4.3
想想你的REST服务。
旅客信息URL(旅行者对象):
/旅行/:ID - &GT; #/旅行/ 1
新的旅游(旅行对象):
/旅行/:ID /创建 - &GT; #/旅行/ 1 /创建
现有旅游URL(旅行对象):
/旅行/:ID /旅游/:travel_id - &GT; #/旅行/ 1 /旅行/ 123
编辑现有的旅游URL(旅行对象):
/旅行/:ID /旅游/:travel_id /编辑 - &GT; #/旅行/ 1 /旅行/ 123 /编辑
所以,你添加新的旅行后,获得成功的调用带回了新的旅游标识(例如:travel_id = 456),并重定向到#/旅行/ 1 /旅行/ 456
我相信你一定能改善的是,仅仅例如
I have this relation between Travelers and Trips in Hibernate:
If I want to create a new trip for traveler 1, I visit the route /frontend/#/trip-creation/1 and here I have a form:
[excerpt of the template]
<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>
...
By accessing the $routeParams.id
I can get the details for traveler 1 like firstName (= Marcel) , lastName and also traveler_id.
$scope.traveler = TravelerFactory.show({id: $routeParams.id});
That is an example for the Traveler object. It contains all the Trips a Traveler had made so far:
[{"traveler_id":1,"company_id":0,"account":false,"firstName":"Marcel","middleName":null,"lastName":"Schmitt","gender":null,"trips":[],"email":null}]
My question:
How can I relate my traveler 1 with the new created trip
[{"trip_id":2,"traveler":null,"currency":null,"rate":100,"description":"Flug","dateCreated":null}]
Is this a proper way of mapping the realtions?
Thank you!
Additional information // backend: Java, Hibernate 4.11, SpringMVC // frontend: AngularJS 1.4.3
Think about your REST services.
traveler info URL (traveler object):
/traveler/:id -> #/traveler/1
new travel (traveler object):
/traveler/:id/create -> #/traveler/1/create
existing travel URL (travel object):
/traveler/:id/travel/:travel_id -> #/traveler/1/travel/123
edit existing travel URL (travel object):
/traveler/:id/travel/:travel_id/edit -> #/traveler/1/travel/123/edit
So, after you add new travel, get successful call back with new travel id (for example: travel_id=456), and redirect to #/traveler/1/travel/456
I am sure you can improve that, just example
这篇关于Hibernate的关系和AngularJS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!