Rol.java
package com.licensis.notaire.negocio;
import jakarta.persistence.CollectionTable;
import jakarta.persistence.Column;
import jakarta.persistence.ElementCollection;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.Table;
import jakarta.persistence.Version;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name = "roles")
public class Rol implements Serializable {
@Version
@Column(name = "version")
private int version;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_rol")
private Integer idRol;
@Column(name = "nombre", unique = true, nullable = false)
private String nombre;
@Column(name = "descripcion")
private String descripcion;
@Column(name = "activo", nullable = false)
private boolean activo;
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "roles_permisos", joinColumns = @JoinColumn(name = "fk_id_rol"))
@Column(name = "modulo")
private List<String> modulos = new ArrayList<>();
public Rol() {
}
public Integer getIdRol() {
return idRol;
}
public void setIdRol(Integer idRol) {
this.idRol = idRol;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public boolean isActivo() {
return activo;
}
public void setActivo(boolean activo) {
this.activo = activo;
}
public List<String> getModulos() {
return modulos;
}
public void setModulos(List<String> modulos) {
this.modulos = modulos != null ? modulos : new ArrayList<>();
}
public int getVersion() {
return version;
}
public void setVersion(int version) {
this.version = version;
}
}