You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by L Eder <ed...@gmail.com> on 2017/03/14 15:58:05 UTC
Wrong behavior when I set the parent on the child, in an 1:m assoc
Hi members:
I have a Skills entity that has two instances.
And i have Operador as its parent, and I created two instances of it.
I then add skill1 to operador1. However when I add skill1 to operador2,
then skill1 is moved to operador2 from operator1.
I would like both operador instances has both skill1.
I even tried this, without success:
public Operador add(
@ParameterLayout(named="Habilidade a Adicionar") final Skill
skill){
getSkilldeveloped().add(skill);
return this;
}
Any tips? Thanks in advance,
Source code
"
-Operador.java-
@Persistent(mappedBy = "operador", dependentElement = "true")
@CollectionLayout(render =
RenderType.EAGERLY)
@Getter @Setter
private SortedSet<Skill> skilldeveloped
= new TreeSet<Skill>();
@Action(semantics =
SemanticsOf.IDEMPOTENT)
public Operador add(
@ParameterLayout(named="Habilidade a Adicionar") final Skill skill){
skill.setOperador(this);
return this;
}
-Skill.java-
@Column(allowsNull = "true")
@Getter @Setter
private Operador operador;
"
Re: Wrong behavior when I set the parent on the child, in an 1:m assoc
Posted by Stephen Cameron <st...@gmail.com>.
It should be done as a many-to-many relationship. (one Operator has many
Skills and one Skill has many Operators).
So you'd need a join table. The datanucleus documentation explains how with
a @Join and an @Order annotation.
To make your code work you'd need to create a new Skill entity each time,
which is not what you want to do I assume.
On Wed, Mar 15, 2017 at 2:58 AM, L Eder <ed...@gmail.com> wrote:
> Hi members:
>
> I have a Skills entity that has two instances.
> And i have Operador as its parent, and I created two instances of it.
>
> I then add skill1 to operador1. However when I add skill1 to operador2,
> then skill1 is moved to operador2 from operator1.
>
> I would like both operador instances has both skill1.
>
> I even tried this, without success:
> public Operador add(
>
> @ParameterLayout(named="Habilidade a Adicionar") final Skill
> skill){
>
> getSkilldeveloped().add(skill);
>
>
>
> return this;
>
> }
>
> Any tips? Thanks in advance,
>
> Source code
> "
> -Operador.java-
>
>
> @Persistent(mappedBy = "operador", dependentElement = "true")
>
> @CollectionLayout(render =
> RenderType.EAGERLY)
>
> @Getter @Setter
>
> private SortedSet<Skill> skilldeveloped
> = new TreeSet<Skill>();
>
>
>
> @Action(semantics =
> SemanticsOf.IDEMPOTENT)
>
> public Operador add(
>
>
> @ParameterLayout(named="Habilidade a Adicionar") final Skill skill){
>
>
>
> skill.setOperador(this);
>
>
>
> return this;
>
> }
>
>
>
> -Skill.java-
>
>
>
> @Column(allowsNull = "true")
>
> @Getter @Setter
>
> private Operador operador;
>
> "
>