0

could someone help me to understand how can I define an entity with JPA mapping that has a relation with it self?

For example, my entity is CompanyDivision, divisionA contains divisionB, divisionC and divisionB contains divisionB1, divisionB2

  • divisionA
    • divisionB
      • divisionB1
      • divisionB2
    • divisionC

Thank you!

Fabio B.
  • 970
  • 2
  • 14
  • 29

1 Answers1

6

It's not different from a relation between 2 different Entities. Here's an example:

class CompanyDivision {

    @OneToMany(mappedBy = "parentDivision")
    private Set<CompanyDivision> childDivisions = new HashSet<CompanyDivision>();

    @ManyToOne
    @JoinColumn(name = "FK_PARENT_DIVISION")
    private CompanyDivision parentDivision;
}
David Bulté
  • 2,988
  • 3
  • 31
  • 43
  • Do note the remarks in the answer here: http://stackoverflow.com/a/4397639/1023341 when storing things this way. – gkephorus Dec 07 '13 at 22:11