package org.transgalactica.management.data.materiel.bo.impl; import java.util.HashSet; import java.util.Set; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; import lombok.AccessLevel; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.transgalactica.fwk.domain.bean.BusinessIdentifier; import org.transgalactica.fwk.domain.stereotype.DataBean; import org.transgalactica.management.data.materiel.bo.HangarEntity; import org.transgalactica.management.data.materiel.bo.VaisseauEntity; @DataBean @Data @NoArgsConstructor(access = AccessLevel.PROTECTED) @EqualsAndHashCode(of = "numero") @Entity @Table(name = "HANGARS") public class JpaHangarEntity implements HangarEntity { private static final long serialVersionUID = 1L; @BusinessIdentifier @Id @Column(name = "id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long numero; @Column(name = "localisation") private String localisation; @Column(name = "nombre_emplacements") private int nombreEmplacements; @OneToMany(mappedBy = "hangar", targetEntity = JpaVaisseauEntity.class) private Set<VaisseauEntity> vaisseaux = new HashSet<>(); /* * Methodes deleguées */ @Override public boolean add(VaisseauEntity vaisseau) { vaisseau.setHangar(this); return vaisseaux.add(vaisseau); } @Override public boolean remove(VaisseauEntity vaisseau) { vaisseau.setHangar(null); return vaisseaux.remove(vaisseau); } }