diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/base/menu/entity/Menu.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/base/menu/entity/Menu.java
index 2bc6b3c..e0e0e3f 100644
--- a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/base/menu/entity/Menu.java
+++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/base/menu/entity/Menu.java
@@ -2,12 +2,14 @@ package com.bpgroup.poc.admin.domain.base.menu.entity;
import com.bpgroup.poc.admin.domain.base.BaseEntity;
import jakarta.persistence.*;
-import lombok.Builder;
+import lombok.AccessLevel;
import lombok.Getter;
+import lombok.NoArgsConstructor;
@Getter
@Entity
@Table(name = "menu")
+@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Menu extends BaseEntity {
@Id
@@ -27,20 +29,26 @@ public class Menu extends BaseEntity {
@JoinColumn(name = "menu_group_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
private MenuGroup menuGroup;
+ private Menu(String uri, String name, Integer sortOrder, MenuGroup menuGroup) {
+ this.uri = uri;
+ this.name = name;
+ this.sortOrder = sortOrder;
+ this.menuGroup = menuGroup;
+ }
+
+ public static Menu createOf(String uri, String name, Integer sortOrder) {
+ return new Menu(uri, name, sortOrder, null);
+ }
+
+ public static Menu updateOf(String uri, String name, Integer sortOrder) {
+ return new Menu(uri, name, sortOrder, null);
+ }
+
public void addMenuGroup(MenuGroup menuGroup) {
this.menuGroup = menuGroup;
menuGroup.getMenus().add(this);
}
- @Builder
- public static Menu of(String uri, String name, Integer sortOrder) {
- Menu menu = new Menu();
- menu.uri = uri;
- menu.name = name;
- menu.sortOrder = sortOrder;
- return menu;
- }
-
public void update(Menu entity) {
this.uri = entity.uri;
this.name = entity.name;
diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/base/menu/entity/MenuGroup.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/base/menu/entity/MenuGroup.java
index 1d99517..4861ee3 100644
--- a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/base/menu/entity/MenuGroup.java
+++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/base/menu/entity/MenuGroup.java
@@ -2,8 +2,9 @@ package com.bpgroup.poc.admin.domain.base.menu.entity;
import com.bpgroup.poc.admin.domain.base.BaseEntity;
import jakarta.persistence.*;
-import lombok.Builder;
+import lombok.AccessLevel;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
@@ -11,6 +12,7 @@ import java.util.List;
@Getter
@Entity
@Table(name = "menu_group")
+@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class MenuGroup extends BaseEntity {
@Id
@@ -29,13 +31,19 @@ public class MenuGroup extends BaseEntity {
@OneToMany(mappedBy = "menuGroup", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private List