a minha classe cfg é esta:
<property
name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property
name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property
name="hibernate.connection.url">
jdbc:mysql://localhost/banco?autoReconnect=true
</property>
<property
name="hibernate.connection.username">
root
</property>
<property
name="hibernate.connection.password">
123
</property>
<!-- Condiguração do c3p0 -->
<property name="hibernate.c3p0.max_size">10</property>
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.timeout">5000</property>
<property name="hibernate.c3p0.max_statements">10</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<!-- Configurações de debug -->
<property name="show_sql">true</property>
<property name="use_outer_join">true</property>
<property name="hibernate.generate_statistics">true</property>
<property name="hibernate.use_sql_comments">true</property>
<mapping resource="Curso.hbm.xml"/>
<mapping resource="Disciplina.hbm.xml"/>
<mapping resource="Turma.hbm.xml"/>
<mapping resource="Pessoa.hbm.xml"/>
<mapping resource="Aluno.hbm.xml"/>
<mapping resource="Professor.hbm.xml"/>
<mapping resource="Endereco.hbm.xml"/>
</session-factory>
e o banco:
CREATE TABLE Pessoa (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR(255) NULL,
email VARCHAR(255) NULL,
telefone VARCHAR(255) NULL,
PRIMARY KEY(id)
);
CREATE TABLE Curso (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR(255) NULL,
descricao TEXT NULL,
PRIMARY KEY(id)
);
CREATE TABLE Professor (
Pessoa_id INTEGER UNSIGNED NOT NULL,
titulo VARCHAR(255) NULL,
PRIMARY KEY(Pessoa_id),
INDEX Professor_FKIndex1(Pessoa_id),
FOREIGN KEY(Pessoa_id)
REFERENCES Pessoa(id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Endereco (
Pessoa_id INTEGER UNSIGNED NOT NULL,
rua VARCHAR(255) NULL,
numero INTEGER UNSIGNED NULL,
bairro VARCHAR(255) NULL,
estado VARCHAR(255) NULL,
complemento TEXT NULL,
cep VARCHAR(255) NULL,
cidade VARCHAR(255) NULL,
PRIMARY KEY(Pessoa_id),
INDEX Endereco_FKIndex1(Pessoa_id),
FOREIGN KEY(Pessoa_id)
REFERENCES Pessoa(id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Aluno (
Pessoa_id INTEGER UNSIGNED NOT NULL,
matricula VARCHAR(255) NULL,
PRIMARY KEY(Pessoa_id),
INDEX Aluno_FKIndex1(Pessoa_id),
FOREIGN KEY(Pessoa_id)
REFERENCES Pessoa(id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Disciplina (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Curso_id INTEGER UNSIGNED NOT NULL,
nome VARCHAR(255) NULL,
ementa TEXT NULL,
PRIMARY KEY(id),
INDEX Disciplina_FKIndex1(Curso_id),
FOREIGN KEY(Curso_id)
REFERENCES Curso(id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Turma (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Disciplina_id INTEGER UNSIGNED NOT NULL,
Professor_Pessoa_id INTEGER UNSIGNED NOT NULL,
nome VARCHAR(255) NULL,
PRIMARY KEY(id),
INDEX Turma_FKIndex1(Professor_Pessoa_id),
INDEX Turma_FKIndex2(Disciplina_id),
FOREIGN KEY(Professor_Pessoa_id)
REFERENCES Professor(Pessoa_id)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Disciplina_id)
REFERENCES Disciplina(id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
)
;
CREATE TABLE Turma_has_Aluno (
Turma_id INTEGER UNSIGNED NOT NULL,
Aluno_Pessoa_id INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(Turma_id, Aluno_Pessoa_id),
INDEX Turma_has_Aluno_FKIndex1(Turma_id),
INDEX Turma_has_Aluno_FKIndex2(Aluno_Pessoa_id),
FOREIGN KEY(Turma_id)
REFERENCES Turma(id)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Aluno_Pessoa_id)
REFERENCES Aluno(Pessoa_id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
)
;
Para criar o banco eu digitei senha do mysql 123, create database banco; e use banco;