0

I have a scenerio where one staff can belong to multiple organisation and for each organisation he can have different role. How can i map this in jpa?

Staff.java

public class Staff {
    @ManyToMany
    @JoinTable(name="STAFF_ORGANIZATION",joinColumns=@JoinColumn(name="staff_id"),inverseJoinColumns=@JoinColumn(name="organization_id"))
    private Set<Organization> organizations;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
}

Organization.java

public class Organization {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    @Column
    private String OrganizationName;
    @ManyToMany(mappedBy="organizations")
    private Set<Staff> staff;
    }

StaffRoles.java

public class StaffRoles {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    @Column
    @Enumerated(EnumType.ORDINAL)
    private Roles roles;

    public enum Roles {
        USER(100), ADMIN(200);
        private int values;

        Roles(int values) {
            this.values = values;
        }



        public int getValues() {
                return values;
            }
}

Can anyone please help me in mapping the roles to the staff. So many staff can belong to many organisation and for each organisation he can have different role.

Any help will be highly appreciated!

0 Answers0