Unidirectional

Report a typo

Choose all correct code snippets corresponding to a unidirectional many-to-many relationship.

Just a reminder: in a unidirectional relationship only one entity has a field that references another entity.

Java

1)

@Getter @Setter
@Entity
public class Entity1 {

    @Id
    private long id;

    @ManyToMany
    @JoinTable(
            name = "join_table",
            joinColumns = @JoinColumn(name = "FK_1"),
            inverseJoinColumns = @JoinColumn(name = "FK_2"))
    private Set<Entity2> entities2 = new HashSet<>();
}

@Getter @Setter
@Entity
public class Entity2 {

    @Id
    private long id;

    @ManyToMany(mappedBy = "entities2")
    private Set<Entity1> entities1 = new HashSet<>();
}

2)

@Getter @Setter
@Entity
public class Entity1 {

    @Id
    private long id;
}

@Getter @Setter
@Entity
public class Entity2 {

    @Id
    private long id;

    @ManyToMany(mappedBy = "entities2")
    private Set<Entity1> entities1 = new HashSet<>();
}

3)

@Getter @Setter
@Entity
public class Entity1 {

    @Id
    private long id;

    @ManyToMany
    @JoinTable(
            name = "join_table",
            joinColumns = @JoinColumn(name = "FK_1"),
            inverseJoinColumns = @JoinColumn(name = "FK_2"))
    private Set<Entity2> entities2 = new HashSet<>();
}

@Getter @Setter
@Entity
public class Entity2 {

    @Id
    private long id;
}

4)

@Getter @Setter
@Entity
public class Entity1 {

    @Id
    private long id;

    @ManyToMany
    private Set<Entity2> entities2 = new HashSet<>();
}

@Getter @Setter
@Entity
public class Entity2 {

    @Id
    private long id;
}
Kotlin

1)

@Entity
class Entity1 {
    @Id
    var id: Long = 0

    @ManyToMany
    @JoinTable(
        name = "join_table",
        joinColumns = [JoinColumn(name = "FK_1")],
        inverseJoinColumns = [JoinColumn(name = "FK_2")]
    )
    var entities2: MutableSet<Entity2> = HashSet()
}

@Entity
class Entity2 {
    @Id
    var id: Long = 0

    @ManyToMany(mappedBy = "entities2")
    var entities1: MutableSet<Entity1> = HashSet()
}

2)

@Entity
class Entity1 {
    @Id
    var id: Long = 0
}


@Entity
class Entity2 {
    @Id
    var id: Long = 0

    @ManyToMany(mappedBy = "entities2")
    var entities1: MutableSet<Entity1> = HashSet()
}

3)

@Entity
class Entity1 {
    @Id
    var id: Long = 0

    @ManyToMany
    @JoinTable(
        name = "join_table",
        joinColumns = [JoinColumn(name = "FK_1")],
        inverseJoinColumns = [JoinColumn(name = "FK_2")]
    )
    var entities2: MutableSet<Entity2> = HashSet()
}


@Entity
class Entity2 {
    @Id
    var id: Long = 0
}

4)

@Entity
class Entity1 {
    @Id
    var id: Long = 0

    @ManyToMany
    var entities2: MutableSet<Entity2> = HashSet()
}


@Entity
class Entity2 {
    @Id
    var id: Long = 0
}
Select one or more options from the list
___

Create a free account to access the full topic