/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.fdxconvert.model; import java.io.Serializable; import java.time.LocalDateTime; import java.util.HashSet; import java.util.Objects; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import lombok.Getter; import lombok.Setter; /** * * @author ASUS */ @Getter @Setter @Entity public class ModeleJson implements Serializable { @Id @GeneratedValue private Long id; @OneToOne(cascade = CascadeType.MERGE) @JoinColumn(name = "type_fichier_code") // @NotNull(message = "Le code du type de fichier est obligatoire" , groups = {ViewFormValidationGroup.class}) private TypeFichier typeFichier; // @NotEmpty(message = "Le nom de l'objet est obligatoire" , groups = {ViewFormValidationGroup.class}) private String objectName; @OneToMany(mappedBy = "modeleJson", cascade = CascadeType.ALL, fetch = FetchType.EAGER) private Set listeStructureJson = new HashSet<>(); @OneToMany(mappedBy = "modeleJson", cascade = CascadeType.ALL, fetch = FetchType.EAGER) private Set subObjects = new HashSet<>(); private LocalDateTime dateCreation; public ModeleJson() { dateCreation = LocalDateTime.now(); } @Override public String toString() { return "ModeleJson{" + "typeFichier=" + typeFichier + ", objectName=" + objectName + ", listeStructureJson=" + listeStructureJson + '}'; } @Override public int hashCode() { int hash = 7; hash = 79 * hash + Objects.hashCode(this.dateCreation); return hash; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final ModeleJson other = (ModeleJson) obj; return Objects.equals(this.dateCreation, other.dateCreation); } }