Dúvida básica sobre como iniciar um projeto utilizando JSF, Hibernate e NetBeans

Boa tarde!

Estou fazendo um projeto de estudo para umas das matérias do curso. A ideia é fazer com que uma página possa fazer alguns cadastros básicos utilizando o MySql por trás. porém estou tendo algumas dificuldades e não mais como andar…

Estou utilizando o JSF, Mysql e pretendo utilizar o hibernate. Estou no começo do projeto, ainda nem iniciei nada utilizando hibernate, estou apenas fazendo alguns testes e já estou com dificuldades para conectar ao banco.

O que tenho hoje:

  1. arquivo hibernate.cfg.xml:
    identar texto pré-formatado por 4 espaços <?xml version="1.0" encoding="UTF-8"?>
org.hibernate.dialect.MySQLDialect com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/repositorio?verifyServerCertificate=false&useSSL=true root adminadmin identar texto pré-formatado por 4 espaços
  1. Uma classe básica para testar a conexão
    package pack1;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;

public class Teste {

public static void teste() throws Exception {
    Connection con = null;
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/repositorio", "root", "adminadmin");
    
    String query = " insert into molecula (col1, col2, col3, col4, col5, col6, col7)"
                 + " values (?, ?, ?, ?, ?, ?, ?)";


    // prepared statement data
    PreparedStatement preparedStmt = con.prepareStatement(query);
    preparedStmt.setString (1, "ifpb");
    preparedStmt.setString (2, "ifpb");
    preparedStmt.setString (3, "ifpb");
    preparedStmt.setString (4, "ifpb");
    preparedStmt.setString (5, "ifpb");
    preparedStmt.setString (6, "ifpb");
    preparedStmt.setString (7, "ifpb");

    // execute the preparedstatement
    preparedStmt.execute();
    
    con.close();
}

public static void main(String[] args) throws Exception  {     
    Teste.teste();
}

}

  1. um bean para ser utilizado pela página JSF:
    package pack1;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {

// private static final long serialVersionUID = 1L;
    private String name;
    
public String getName() {
	return name;
}
    
public void setName(String name) {
	this.name = name;
}
    
    public String teste() {
        
        try {
            Teste.teste();
        } catch (Exception e) {
            FacesContext context = FacesContext.getCurrentInstance();
            context.addMessage(null, new FacesMessage("Erro - " + e.getMessage()));
        }
        
        return "welcome";
    }     

}

  1. a página JSF em si, que deveria funcionar:
<?xml version='1.0' encoding='UTF-8' ?> Facelet Title

JSF 2.0 Hello World Example - hello.xhtml

Ao tentar rodar, tenho o seguinte erro:

  • Erro - Cannot open file:C:\novo\glassfish-4.1\glassfish\domains\domain1/config/keystore.jks [Keystore was tampered with, or password was incorrect]

Não cheguei a configurar nada no servidor Glassfish. Devo utilizar algum outro, como o Tomcat (não o utilizei porque estava dando erro, mas posso verificar sua instalação), ou estou deixando de fazer alguma configuração no servidor? É necessário configurar algo relacionado ao banco de dados no glassfish?

Quando rodo o mesmo código (que está na página) numa classe à parte, apenas uma classe simples para teste, tudo é processado sem erros. Os dados são inseridos no banco.