Skip to content

Commit

Permalink
json managed references
Browse files Browse the repository at this point in the history
  • Loading branch information
JanisBe committed Jun 7, 2024
1 parent d5527c7 commit 2965332
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 9 deletions.
2 changes: 2 additions & 0 deletions src/main/java/pl/janis/komornik/entities/Category.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package pl.janis.komornik.entities;

import com.fasterxml.jackson.annotation.JsonManagedReference;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -31,6 +32,7 @@ public class Category {
private String categoryIconName;

@OneToMany(mappedBy = "category")
@JsonManagedReference
@ToString.Exclude
private Set<Expense> expenses = new LinkedHashSet<>();

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/pl/janis/komornik/entities/Debt.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package pl.janis.komornik.entities;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonBackReference;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
Expand All @@ -26,7 +26,7 @@ public class Debt {

@ManyToOne(fetch = FetchType.LAZY, optional = false, cascade = CascadeType.MERGE)
@JoinColumn(name = "expense_id")
@JsonIgnore
@JsonBackReference
@ToString.Exclude
private Expense expense;

Expand Down
7 changes: 4 additions & 3 deletions src/main/java/pl/janis/komornik/entities/Expense.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package pl.janis.komornik.entities;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -42,6 +42,7 @@ public class Expense {

@ManyToOne(fetch = FetchType.EAGER, cascade = {CascadeType.MERGE})
@JoinColumn(name = "category_id")
@JsonBackReference
private Category category;

@Column(name = "currency", nullable = false)
Expand All @@ -54,12 +55,12 @@ public class Expense {
private BigDecimal amount;

@OneToMany(fetch = FetchType.EAGER, mappedBy = "expense", cascade = CascadeType.ALL, orphanRemoval = true)
@ToString.Exclude
@JsonBackReference
private List<Debt> debt;

@ManyToOne(fetch = FetchType.LAZY, optional = false, cascade = {CascadeType.MERGE})
@JoinColumn(name = "group_id", nullable = false)
@JsonIgnore
@JsonBackReference
@ToString.Exclude
private Group group;

Expand Down
2 changes: 2 additions & 0 deletions src/main/java/pl/janis/komornik/entities/Group.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package pl.janis.komornik.entities;

import com.fasterxml.jackson.annotation.JsonManagedReference;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -37,6 +38,7 @@ public class Group {
private String groupIconName;

@OneToMany(mappedBy = "group")
@JsonManagedReference
@ToString.Exclude
private List<Expense> expenses;

Expand Down
8 changes: 4 additions & 4 deletions src/main/java/pl/janis/komornik/entities/User.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package pl.janis.komornik.entities;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -44,17 +44,17 @@ public class User implements UserDetails {
private Boolean isVerified;

@ManyToMany(mappedBy = "users")
@JsonIgnore
@JsonManagedReference
@ToString.Exclude
private List<Group> groups;

@OneToMany(mappedBy = "userFrom", cascade = CascadeType.ALL)
@JsonIgnore
@JsonManagedReference
@ToString.Exclude
private List<Debt> debtFrom;

@OneToMany(mappedBy = "userTo", cascade = CascadeType.ALL)
@JsonIgnore
@JsonManagedReference
@ToString.Exclude
private List<Debt> debtTo;

Expand Down

0 comments on commit 2965332

Please sign in to comment.