1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
package com.calculateur.warhammer.entity.entity;
import java.util.Set;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ForeignKey;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.calculateur.warhammer.entity.pk.FactionPK;
/**
* Entité pour les faction en BDD
*
* @author phili
*
*/
@Entity
@Table(name = "FACTION")
public class FactionEntity extends AbstractEntityAvecLibelle<FactionPK> {
@EmbeddedId
@NotNull(message = "faction.pk.null")
private FactionPK id;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "ID_CAMP",foreignKey = @ForeignKey(name = "FK_CAMP"),insertable = false, updatable = false,nullable = false)
@NotNull(message = "faction.camp.null")
private CampEntity camp;
@OneToMany(fetch = FetchType.LAZY,mappedBy = "faction")
private Set<SousFactionEntity> sousFactions;
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "ASSOCIATION_FACTION_REGLE_FACTION",
joinColumns = {
@JoinColumn(name = "ID_CAMP",foreignKey = @ForeignKey(name = "FK_CAMP_ASSOCIATION_ASSOCIATION_FACTION_REGLE_FACTION"),insertable = false, updatable = false),
@JoinColumn(name = "ID_FACTION",foreignKey = @ForeignKey(name = "FK_FACTION_ASSOCIATION_ASSOCIATION_FACTION_REGLE_FACTION"),insertable = false, updatable = false)
},
inverseJoinColumns = @JoinColumn(name = "ID_REGLE_FACTION",foreignKey = @ForeignKey(name = "FK_REGLE_FACTION_ASSOCIATION_ASSOCIATION_FACTION_REGLE_FACTION"))
)
private Set<RegleFactionEntity> regles;
@JoinTable(name = "ASSOCIATION_FACTION_AURA",
joinColumns = {
@JoinColumn(name = "ID_CAMP",foreignKey = @ForeignKey(name = "FK_CAMP_ASSOCIATION_ASSOCIATION_FACTION_AURA"),insertable = false, updatable = false),
@JoinColumn(name = "ID_FACTION",foreignKey = @ForeignKey(name = "FK_FACTION_ASSOCIATION_ASSOCIATION_FACTION_AURA"),insertable = false, updatable = false)
},
inverseJoinColumns = @JoinColumn(name = "ID_AURA",foreignKey = @ForeignKey(name = "FK_REGLE_FACTION_ASSOCIATION_ASSOCIATION_FACTION_AURA"))
)
@ManyToMany(fetch = FetchType.LAZY)
private Set<AuraEntity> auras;
@Override
public FactionPK getId() {
return id;
}
@Override
public void setId(FactionPK id) {
this.id = id;
}
public CampEntity getCamp() {
return camp;
}
public void setCamp(CampEntity camp) {
this.camp = camp;
}
public Set<SousFactionEntity> getSousFactions() {
return sousFactions;
}
public void setSousFactions(Set<SousFactionEntity> sousFactions) {
this.sousFactions = sousFactions;
}
public Set<RegleFactionEntity> getRegles() {
return regles;
}
public void setRegles(Set<RegleFactionEntity> regles) {
this.regles = regles;
}
public Set<AuraEntity> getAuras() {
return auras;
}
public void setAuras(Set<AuraEntity> auras) {
this.auras = auras;
}
} |