package dev.java10x.CadastroDeNinjas;

import jakarta.persistence.*;

// 🏯 Anotações JPA para mapear essa classe para uma tabela no banco de dados
@Entity
@Table(name = "tb_cadastro")
public class NinjaModel {

    // 🆔 ID único do ninja, gerado automaticamente (como um selo de clan)
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    // 🧑‍🎤 Nome do ninja (exemplo: Naruto Uzumaki)
    private String nome;

    // 📧 Email do ninja (para comunicação com o Hokage)
    private String email;

    // 🎂 Idade do ninja (exemplo: Naruto tem 17 anos durante a saga Shippuden)
    private int idade;

    // ⚔️ Construtor padrão (necessário para o Hibernate e JPA)
    public NinjaModel() {}

    // 🎯 Construtor para criar um novo ninja com nome, email e idade
    public NinjaModel(String nome, String email, int idade) {
        this.nome = nome;
        this.email = email;
        this.idade = idade;
    }

    // 🔄 Getters e Setters para acessar e modificar os atributos

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }
}

🌟 Explicação ninja do código

Ícone Parte do Código Descrição com Exemplo Naruto
🆔 @Id @GeneratedValue Cada ninja tem um ID único, como o número do time 7.
🧑‍🎤 nome O nome do ninja, tipo Naruto Uzumaki ou Sasuke Uchiha.
📧 email Como o ninja pode ser contatado — imagine uma mensagem via corvo mensageiro.
🎂 idade Idade do ninja, para registrar experiência — Naruto era 17 em Shippuden.
⚔️ Construtores Permitem criar ninjas novos ou usar o JPA para popular os dados do banco.
🔄 Getters e Setters Métodos para acessar e atualizar os dados — tipo o pergaminho com as missões.