| import ns org.osbp.mysmartshop.datatypes.Date |
| import ns org.osbp.mysmartshop.datatypes.String |
| import ns org.osbp.mysmartshop.datatypes.long |
| |
| package org.eclipse.osbp.dsl.tests.carstore.entities { |
| |
| mappedSuperclass Base { |
| uuid String uuid |
| version long version |
| } |
| |
| entity Car extends Base { |
| var String number |
| var Date finishingDate |
| ref cascade Addon[ * ]addons opposite car |
| ref Person owner opposite ownsCars |
| |
| // test cycle |
| ref cascade ToCycle1[ * ]cycles1 opposite car |
| } |
| |
| entity Addon extends Base { |
| var String description |
| ref Car car opposite addons |
| } |
| |
| entity ToCycle1 extends Base { |
| ref Car car opposite cycles1 |
| ref cascade ToCycle2[ * ]cycles2 opposite parent |
| } |
| |
| entity ToCycle2 extends Base { |
| ref ToCycle1 parent opposite cycles2 |
| |
| // back ref to car MUST NOT resolve the cycles again! |
| ref Car car |
| } |
| |
| entity Person extends Base { |
| var String firstname |
| var String lastname |
| ref Car[ * ]ownsCars opposite owner |
| |
| var Address homeAddress |
| var Address workAddress |
| } |
| |
| bean Address { |
| var String streetname |
| var String postalcode |
| } |
| } |