I have a Spring Boot application using JPA/Hibernate in its persistence layer. The application has read-only access to a database and basically has three entities Article
, Category
, and Field
, which have the following relationships.
Article (*) -> (1) Category (*) <-> (1) Field
That is, an Article
has a Category
, and a Category
always belongs to a single Field
, however, multiple Category
instances can belong to the same Field
.
The application provides two REST endpoints, which give a single Article
and a single Field
by their IDs, respectively. Of course, this cannot work when using Jackson for serialization due to the cyclic dependency Category <-> Field
.
What I want is when I retrieve an Article
, it should give me its Category
including the category's Field
, but not all the other Category
instances that belong to the this same Field
. On the other hand, when I retrieve a Field
, it should give me the Field
including all Category
instances that belong to this Field
.
How can I achieve this?
Edit: I basically have a similar question as Jackson infinite loops many-to-one one-to-many relation