The values in the array should be of the type described by the .
Multi value properties are usually used for navigating . implements for navigating . It looks for a property whose name is the lcFirst of the class of it's own extended with 'Id'. Then it retrieves a peanut with the value of that property equal to the id of its own peanut's id through the classDescriptor of the type. If this is a PntDbClassDescriptor this will retrieve an array of peanuts from the database. Since version 1.2 PntMultiValuePropertyDescriptor cache the objects that where retrieved in a field on the peanut.
Since version 1.2 multi value properties also support navigation and modification in n to m relationships. This requires the navigationPath to be set to a path referring another multi value property, and from its type, a derived property navigating an n to 1 relationship. Both properties must be persistent. The multi value propertyDescriptor will then perform a query JOINing the table of the first properties type. See how to add relationship navigation.
Property getters may override all this.
Properties navigating an M to N relationship can be edited by an . This page alows the user to remove values and add values through search and selection. The result is submitted at once and processed by a . Ids of added and removed values are passed to a method <propertyName>MtoNmodIds, or if the method does not exist, to the propertyDescriptor. See example 13. |