Tabela por Hierarquia
TABELA POR HIERARQUIA
create table cliente (
id integer not null auto_increment,
cpf varchar(255),
nome VARCHAR(100) not null,
primary key (id)
) engine=InnoDB
Hibernate:
create table curso (
id integer not null auto_increment,
area varchar(255),
codigo varchar(255),
nome varchar(255),
numSemestres integer,
regime varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table disciplina (
id integer not null auto_increment,
codigo varchar(255),
nome varchar(255),
curso_id integer,
primary key (id)
) engine=InnoDB
Hibernate:
create table documento_identificacao (
id integer not null auto_increment,
nome varchar(255),
valor varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table empresa (
id integer not null auto_increment,
email varchar(255),
nomeContato varchar(255),
telefone varchar(255),
nome varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table funcionario (
DTYPE varchar(31) not null,
id integer not null auto_increment,
fim datetime(6),
inicio datetime(6),
nome varchar(255),
periodoEmMeses integer,
valorHora float,
bonus float,
salarioMensal float,
primary key (id)
) engine=InnoDB
Hibernate:
alter table aluno
add constraint FK9ma9koxhhv7lhowufvteqirp1
foreign key (documento_id)
references documento_identificacao (id)
Hibernate:
alter table disciplina
add constraint FKkhdiw1swjoa2ml3md0mt8g4sf
foreign key (curso_id)
references curso (id)
mai 16, 2021 8:36:46 AM org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateService
INFO: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.Funcionario
*/ insert
into
funcionario
(fim, inicio, nome, DTYPE)
values
(?, ?, ?, 'Funcionario')
--- Salvo: (CREATE)
Funcionario [id=1, nome=José Pereira, inicio=2019-05-16T08:36:46.321353, fim=null]
---
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoClt
*/ insert
into
funcionario
(fim, inicio, nome, bonus, salarioMensal, DTYPE)
values
(?, ?, ?, ?, ?, 'empregadoclt')
--- Salvo: (CREATE)
ContratoClt [salarioMensal=4000.0, bonus=200.0, toString()=Funcionario [id=2, nome=Maria Silva, inicio=2020-05-16T08:36:46.362783, fim=null]]
---
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoPj
*/ insert
into
funcionario
(fim, inicio, nome, periodoEmMeses, valorHora, DTYPE)
values
(?, ?, ?, ?, ?, 'empregadopj')
--- Salvo: (CREATE)
ContratoPj [valorHora=100.0, periodoEmMeses=26, toString()=Funcionario [id=3, nome=João Lima, inicio=2018-05-16T08:36:46.375511, fim=2021-05-16T08:36:46.375537]]
---
mai 16, 2021 8:36:46 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PoolState stop
INFO: HHH10001008: Cleaning up connection pool [jdbc:mysql://localhost:43306/banco?useTimezone=true&serverTimezone=UTC]
mysql> desc funcionario;
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| DTYPE | varchar(31) | NO | | NULL | |
| id | int(11) | NO | PRI | NULL | auto_increment |
| fim | datetime(6) | YES | | NULL | |
| inicio | datetime(6) | YES | | NULL | |
| nome | varchar(255) | YES | | NULL | |
| periodoEmMeses | int(11) | YES | | NULL | |
| valorHora | float | YES | | NULL | |
| bonus | float | YES | | NULL | |
| salarioMensal | float | YES | | NULL | |
+----------------+--------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)
mysql> select * from funcionario;
+--------------+----+----------------------------+----------------------------+---------------+----------------+-----------+-------+---------------+
| DTYPE | id | fim | inicio | nome | periodoEmMeses | valorHora | bonus | salarioMensal |
+--------------+----+----------------------------+----------------------------+---------------+----------------+-----------+-------+---------------+
| Funcionario | 1 | NULL | 2019-05-16 11:36:46.321353 | José Pereira | NULL | NULL | NULL | NULL |
| empregadoclt | 2 | NULL | 2020-05-16 11:36:46.362783 | Maria Silva | NULL | NULL | 200 | 4000 |
| empregadopj | 3 | 2021-05-16 11:36:46.375537 | 2018-05-16 11:36:46.375511 | João Lima | 26 | 100 | NULL | NULL |
+--------------+----+----------------------------+----------------------------+---------------+----------------+-----------+-------+---------------+
3 rows in set (0.00 sec)
Tabela por Classe Concreta
TABELA POR CLASSE CONCRETA
mysql> desc funcionario;
+--------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| fim | datetime(6) | YES | | NULL | |
| inicio | datetime(6) | YES | | NULL | |
| nome | varchar(255) | YES | | NULL | |
+--------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
mysql> select * from funcionario;
+----+------+----------------------------+---------------+
| id | fim | inicio | nome |
+----+------+----------------------------+---------------+
| 1 | NULL | 2019-05-16 11:25:57.925744 | José Pereira |
+----+------+----------------------------+---------------+
1 row in set (0.00 sec)
mysql> desc contrato_clt;
+---------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| fim | datetime(6) | YES | | NULL | |
| inicio | datetime(6) | YES | | NULL | |
| nome | varchar(255) | YES | | NULL | |
| bonus | float | YES | | NULL | |
| salarioMensal | float | YES | | NULL | |
+---------------+--------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
mysql> select * from contrato_clt;
+----+------+----------------------------+-------------+-------+---------------+
| id | fim | inicio | nome | bonus | salarioMensal |
+----+------+----------------------------+-------------+-------+---------------+
| 2 | NULL | 2020-05-16 11:25:58.014144 | Maria Silva | 200 | 4000 |
+----+------+----------------------------+-------------+-------+---------------+
1 row in set (0.00 sec)
mysql> desc contrato_pj;
+----------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| fim | datetime(6) | YES | | NULL | |
| inicio | datetime(6) | YES | | NULL | |
| nome | varchar(255) | YES | | NULL | |
| periodoEmMeses | int(11) | YES | | NULL | |
| valorHora | float | YES | | NULL | |
+----------------+--------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
mysql> select * from contrato_pj;
+----+----------------------------+----------------------------+------------+----------------+-----------+
| id | fim | inicio | nome | periodoEmMeses | valorHora |
+----+----------------------------+----------------------------+------------+----------------+-----------+
| 3 | 2021-05-16 11:25:58.027603 | 2018-05-16 11:25:58.027583 | João Lima | 26 | 100 |
+----+----------------------------+----------------------------+------------+----------------+-----------+
1 row in set (0.00 sec)
mai 16, 2021 8:25:55 AM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [name: BancoPU1]
mai 16, 2021 8:25:55 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.4.2.Final}
mai 16, 2021 8:25:55 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
mai 16, 2021 8:25:55 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
mai 16, 2021 8:25:55 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [com.mysql.cj.jdbc.Driver] at URL [jdbc:mysql://localhost:43306/banco?useTimezone=true&serverTimezone=UTC]
mai 16, 2021 8:25:55 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {password=****, user=root}
mai 16, 2021 8:25:55 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
mai 16, 2021 8:25:55 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
mai 16, 2021 8:25:56 AM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
mai 16, 2021 8:25:56 AM org.hibernate.cfg.AnnotationBinder bindClass
WARN: HHH000499: Using @AttributeOverride or @AttributeOverrides in conjunction with entity inheritance is not supported: br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoPj. The overriding definitions are ignored.
mai 16, 2021 8:25:56 AM org.hibernate.cfg.AnnotationBinder bindClass
WARN: HHH000499: Using @AttributeOverride or @AttributeOverrides in conjunction with entity inheritance is not supported: br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoClt. The overriding definitions are ignored.
mai 16, 2021 8:25:56 AM org.hibernate.id.enhanced.TableGenerator determineDefaultSegmentValue
INFO: HHH000398: Explicit segment value for id generator [hibernate_sequences.sequence_name] suggested; using default [default]
Hibernate:
alter table aluno
drop
foreign key FK9ma9koxhhv7lhowufvteqirp1
mai 16, 2021 8:25:57 AM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection
INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@d3f4505] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.
Hibernate:
alter table disciplina
drop
foreign key FKkhdiw1swjoa2ml3md0mt8g4sf
Hibernate:
drop table if exists aluno
Hibernate:
drop table if exists cliente
Hibernate:
drop table if exists contrato_clt
Hibernate:
drop table if exists contrato_pj
Hibernate:
drop table if exists curso
Hibernate:
drop table if exists disciplina
Hibernate:
drop table if exists documento_identificacao
Hibernate:
drop table if exists empresa
Hibernate:
drop table if exists funcionario
Hibernate:
drop table if exists hibernate_sequences
Hibernate:
create table aluno (
id integer not null auto_increment,
nome varchar(255),
documento_id integer,
primary key (id)
) engine=InnoDB
mai 16, 2021 8:25:57 AM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection
INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@430b2699] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.
Hibernate:
create table cliente (
id integer not null auto_increment,
cpf varchar(255),
nome VARCHAR(100) not null,
primary key (id)
) engine=InnoDB
Hibernate:
create table contrato_clt (
id integer not null,
fim datetime(6),
inicio datetime(6),
nome varchar(255),
bonus float,
salarioMensal float,
primary key (id)
) engine=InnoDB
Hibernate:
create table contrato_pj (
id integer not null,
fim datetime(6),
inicio datetime(6),
nome varchar(255),
periodoEmMeses integer,
valorHora float,
primary key (id)
) engine=InnoDB
Hibernate:
create table curso (
id integer not null auto_increment,
area varchar(255),
codigo varchar(255),
nome varchar(255),
numSemestres integer,
regime varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table disciplina (
id integer not null auto_increment,
codigo varchar(255),
nome varchar(255),
curso_id integer,
primary key (id)
) engine=InnoDB
Hibernate:
create table documento_identificacao (
id integer not null auto_increment,
nome varchar(255),
valor varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table empresa (
id integer not null auto_increment,
email varchar(255),
nomeContato varchar(255),
telefone varchar(255),
nome varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table funcionario (
id integer not null,
fim datetime(6),
inicio datetime(6),
nome varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table hibernate_sequences (
sequence_name varchar(255) not null,
next_val bigint,
primary key (sequence_name)
) engine=InnoDB
Hibernate:
insert into hibernate_sequences(sequence_name, next_val) values ('default',0)
Hibernate:
alter table aluno
add constraint FK9ma9koxhhv7lhowufvteqirp1
foreign key (documento_id)
references documento_identificacao (id)
Hibernate:
alter table disciplina
add constraint FKkhdiw1swjoa2ml3md0mt8g4sf
foreign key (curso_id)
references curso (id)
mai 16, 2021 8:25:57 AM org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateService
INFO: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
Hibernate:
select
tbl.next_val
from
hibernate_sequences tbl
where
tbl.sequence_name=? for update
Hibernate:
update
hibernate_sequences
set
next_val=?
where
next_val=?
and sequence_name=?
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.Funcionario
*/ insert
into
funcionario
(fim, inicio, nome, id)
values
(?, ?, ?, ?)
--- Salvo: (CREATE)
Funcionario [id=1, nome=José Pereira, inicio=2019-05-16T08:25:57.925744, fim=null]
---
Hibernate:
select
tbl.next_val
from
hibernate_sequences tbl
where
tbl.sequence_name=? for update
Hibernate:
update
hibernate_sequences
set
next_val=?
where
next_val=?
and sequence_name=?
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoClt
*/ insert
into
contrato_clt
(fim, inicio, nome, bonus, salarioMensal, id)
values
(?, ?, ?, ?, ?, ?)
--- Salvo: (CREATE)
ContratoClt [salarioMensal=4000.0, bonus=200.0, toString()=Funcionario [id=2, nome=Maria Silva, inicio=2020-05-16T08:25:58.014144, fim=null]]
---
Hibernate:
select
tbl.next_val
from
hibernate_sequences tbl
where
tbl.sequence_name=? for update
Hibernate:
update
hibernate_sequences
set
next_val=?
where
next_val=?
and sequence_name=?
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoPj
*/ insert
into
contrato_pj
(fim, inicio, nome, periodoEmMeses, valorHora, id)
values
(?, ?, ?, ?, ?, ?)
--- Salvo: (CREATE)
ContratoPj [valorHora=100.0, periodoEmMeses=26, toString()=Funcionario [id=3, nome=João Lima, inicio=2018-05-16T08:25:58.027583, fim=2021-05-16T08:25:58.027603]]
---
mai 16, 2021 8:25:58 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PoolState stop
INFO: HHH10001008: Cleaning up connection pool [jdbc:mysql://localhost:43306/banco?useTimezone=true&serverTimezone=UTC]
mai 16, 2021 8:25:55 AM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [name: BancoPU1]
mai 16, 2021 8:25:55 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.4.2.Final}
mai 16, 2021 8:25:55 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
mai 16, 2021 8:25:55 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
mai 16, 2021 8:25:55 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [com.mysql.cj.jdbc.Driver] at URL [jdbc:mysql://localhost:43306/banco?useTimezone=true&serverTimezone=UTC]
mai 16, 2021 8:25:55 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {password=****, user=root}
mai 16, 2021 8:25:55 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
mai 16, 2021 8:25:55 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
mai 16, 2021 8:25:56 AM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
mai 16, 2021 8:25:56 AM org.hibernate.cfg.AnnotationBinder bindClass
WARN: HHH000499: Using @AttributeOverride or @AttributeOverrides in conjunction with entity inheritance is not supported: br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoPj. The overriding definitions are ignored.
mai 16, 2021 8:25:56 AM org.hibernate.cfg.AnnotationBinder bindClass
WARN: HHH000499: Using @AttributeOverride or @AttributeOverrides in conjunction with entity inheritance is not supported: br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoClt. The overriding definitions are ignored.
mai 16, 2021 8:25:56 AM org.hibernate.id.enhanced.TableGenerator determineDefaultSegmentValue
INFO: HHH000398: Explicit segment value for id generator [hibernate_sequences.sequence_name] suggested; using default [default]
Hibernate:
alter table aluno
drop
foreign key FK9ma9koxhhv7lhowufvteqirp1
mai 16, 2021 8:25:57 AM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection
INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@d3f4505] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.
Hibernate:
alter table disciplina
drop
foreign key FKkhdiw1swjoa2ml3md0mt8g4sf
Hibernate:
drop table if exists aluno
Hibernate:
drop table if exists cliente
Hibernate:
drop table if exists contrato_clt
Hibernate:
drop table if exists contrato_pj
Hibernate:
drop table if exists curso
Hibernate:
drop table if exists disciplina
Hibernate:
drop table if exists documento_identificacao
Hibernate:
drop table if exists empresa
Hibernate:
drop table if exists funcionario
Hibernate:
drop table if exists hibernate_sequences
Hibernate:
create table aluno (
id integer not null auto_increment,
nome varchar(255),
documento_id integer,
primary key (id)
) engine=InnoDB
mai 16, 2021 8:25:57 AM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection
INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@430b2699] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.
Hibernate:
create table cliente (
id integer not null auto_increment,
cpf varchar(255),
nome VARCHAR(100) not null,
primary key (id)
) engine=InnoDB
Hibernate:
create table contrato_clt (
id integer not null,
fim datetime(6),
inicio datetime(6),
nome varchar(255),
bonus float,
salarioMensal float,
primary key (id)
) engine=InnoDB
Hibernate:
create table contrato_pj (
id integer not null,
fim datetime(6),
inicio datetime(6),
nome varchar(255),
periodoEmMeses integer,
valorHora float,
primary key (id)
) engine=InnoDB
Hibernate:
create table curso (
id integer not null auto_increment,
area varchar(255),
codigo varchar(255),
nome varchar(255),
numSemestres integer,
regime varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table disciplina (
id integer not null auto_increment,
codigo varchar(255),
nome varchar(255),
curso_id integer,
primary key (id)
) engine=InnoDB
Hibernate:
create table documento_identificacao (
id integer not null auto_increment,
nome varchar(255),
valor varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table empresa (
id integer not null auto_increment,
email varchar(255),
nomeContato varchar(255),
telefone varchar(255),
nome varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table funcionario (
id integer not null,
fim datetime(6),
inicio datetime(6),
nome varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
create table hibernate_sequences (
sequence_name varchar(255) not null,
next_val bigint,
primary key (sequence_name)
) engine=InnoDB
Hibernate:
insert into hibernate_sequences(sequence_name, next_val) values ('default',0)
Hibernate:
alter table aluno
add constraint FK9ma9koxhhv7lhowufvteqirp1
foreign key (documento_id)
references documento_identificacao (id)
Hibernate:
alter table disciplina
add constraint FKkhdiw1swjoa2ml3md0mt8g4sf
foreign key (curso_id)
references curso (id)
mai 16, 2021 8:25:57 AM org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateService
INFO: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
Hibernate:
select
tbl.next_val
from
hibernate_sequences tbl
where
tbl.sequence_name=? for update
Hibernate:
update
hibernate_sequences
set
next_val=?
where
next_val=?
and sequence_name=?
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.Funcionario
*/ insert
into
funcionario
(fim, inicio, nome, id)
values
(?, ?, ?, ?)
--- Salvo: (CREATE)
Funcionario [id=1, nome=José Pereira, inicio=2019-05-16T08:25:57.925744, fim=null]
---
Hibernate:
select
tbl.next_val
from
hibernate_sequences tbl
where
tbl.sequence_name=? for update
Hibernate:
update
hibernate_sequences
set
next_val=?
where
next_val=?
and sequence_name=?
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoClt
*/ insert
into
contrato_clt
(fim, inicio, nome, bonus, salarioMensal, id)
values
(?, ?, ?, ?, ?, ?)
--- Salvo: (CREATE)
ContratoClt [salarioMensal=4000.0, bonus=200.0, toString()=Funcionario [id=2, nome=Maria Silva, inicio=2020-05-16T08:25:58.014144, fim=null]]
---
Hibernate:
select
tbl.next_val
from
hibernate_sequences tbl
where
tbl.sequence_name=? for update
Hibernate:
update
hibernate_sequences
set
next_val=?
where
next_val=?
and sequence_name=?
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoPj
*/ insert
into
contrato_pj
(fim, inicio, nome, periodoEmMeses, valorHora, id)
values
(?, ?, ?, ?, ?, ?)
--- Salvo: (CREATE)
ContratoPj [valorHora=100.0, periodoEmMeses=26, toString()=Funcionario [id=3, nome=João Lima, inicio=2018-05-16T08:25:58.027583, fim=2021-05-16T08:25:58.027603]]
---
mai 16, 2021 8:25:58 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PoolState stop
INFO: HHH10001008: Cleaning up connection pool [jdbc:mysql://localhost:43306/banco?useTimezone=true&serverTimezone=UTC]
Tabela por Subclasse
TABELA POR SUBCLASSE (Funcionário como classe abstrata):
Console:
create table contrato_clt (
bonus float,
salarioMensal float,
ID integer not null,
primary key (ID)
) engine=InnoDB
Hibernate:
create table contrato_pj (
periodoEmMeses integer,
valorHora float,
ID integer not null,
primary key (ID)
) engine=InnoDB
Hibernate:
create table funcionario (
id integer not null,
fim datetime(6),
inicio datetime(6),
nome varchar(255),
primary key (id)
) engine=InnoDB
Hibernate:
Hibernate:
alter table contrato_clt
add constraint FK4mxwicqmm23oy0yydtcoo07oe
foreign key (ID)
references funcionario (id)
Hibernate:
alter table contrato_pj
add constraint FKe8egnitaujim82o8jn8wqgm9m
foreign key (ID)
references funcionario (id)
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.Funcionario
*/ insert
into
funcionario
(fim, inicio, nome, id)
values
(?, ?, ?, ?)
--- Salvo: (CREATE)
Funcionario [id=1, nome=José Pereira, inicio=2019-05-16T08:41:00.308283, fim=null]
---
Hibernate:
select
next_val as id_val
from
hibernate_sequence for update
Hibernate:
update
hibernate_sequence
set
next_val= ?
where
next_val=?
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoClt
*/ insert
into
funcionario
(fim, inicio, nome, id)
values
(?, ?, ?, ?)
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoClt
*/ insert
into
contrato_clt
(bonus, salarioMensal, ID)
values
(?, ?, ?)
--- Salvo: (CREATE)
ContratoClt [salarioMensal=4000.0, bonus=200.0, toString()=Funcionario [id=2, nome=Maria Silva, inicio=2020-05-16T08:41:00.396712, fim=null]]
---
Hibernate:
select
next_val as id_val
from
hibernate_sequence for update
Hibernate:
update
hibernate_sequence
set
next_val= ?
where
next_val=?
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoPj
*/ insert
into
funcionario
(fim, inicio, nome, id)
values
(?, ?, ?, ?)
Hibernate:
/* insert br.newtonpaiva.poo.u5.ex6.heranca.tabelaporhierarquia.ContratoPj
*/ insert
into
contrato_pj
(periodoEmMeses, valorHora, ID)
values
(?, ?, ?)
--- Salvo: (CREATE)
ContratoPj [valorHora=100.0, periodoEmMeses=26, toString()=Funcionario [id=3, nome=João Lima, inicio=2018-05-16T08:41:00.419667, fim=2021-05-16T08:41:00.419693]]
---
mai 16, 2021 8:41:00 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PoolState stop
INFO: HHH10001008: Cleaning up connection pool [jdbc:mysql://localhost:43306/banco?useTimezone=true&serverTimezone=UTC]
mysql> desc funcionario;
+--------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| fim | datetime(6) | YES | | NULL | |
| inicio | datetime(6) | YES | | NULL | |
| nome | varchar(255) | YES | | NULL | |
+--------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
mysql> select * from funcionario;
+----+----------------------------+----------------------------+-------------+
| id | fim | inicio | nome |
+----+----------------------------+----------------------------+-------------+
| 1 | NULL | 2020-05-16 11:43:36.216292 | Maria Silva |
| 2 | 2021-05-16 11:43:36.311732 | 2018-05-16 11:43:36.311705 | João Lima |
+----+----------------------------+----------------------------+-------------+
2 rows in set (0.00 sec)
mysql> desc contrato_clt;
+---------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+-------+
| bonus | float | YES | | NULL | |
| salarioMensal | float | YES | | NULL | |
| ID | int(11) | NO | PRI | NULL | |
+---------------+---------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> select * from contrato_clt;
+-------+---------------+----+
| bonus | salarioMensal | ID |
+-------+---------------+----+
| 200 | 4000 | 1 |
+-------+---------------+----+
1 row in set (0.00 sec)
mysql> desc contrato_pj;
+----------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------+------+-----+---------+-------+
| periodoEmMeses | int(11) | YES | | NULL | |
| valorHora | float | YES | | NULL | |
| ID | int(11) | NO | PRI | NULL | |
+----------------+---------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql> select * from contrato_pj;
+----------------+-----------+----+
| periodoEmMeses | valorHora | ID |
+----------------+-----------+----+
| 26 | 100 | 2 |
+----------------+-----------+----+
1 row in set (0.00 sec)
Nenhum comentário:
Postar um comentário