Estou tentando fazer a minha aplicação com JPA e Hibernate gerarem as tabelas no banco de dados pelas anotações nas classes, mas o estranho é algumas tabelas e foreign keys nao serem geradas, por exemplo tenho a seguinte classe
Usuariopublic class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "idfuncionario")
@GeneratedValue(generator = "foreign")
@GenericGenerator(name = "foreign", strategy = "foreign",
parameters = {
@Parameter(name = "property", value = "funcionario")})
private Integer idFuncionario;
@Column(name = "login", length = 20)
private String login;
@Column(name = "senha", length = [telefone removido])
private String senha;
@JoinColumn(name = "idtipousuario", referencedColumnName = "id")
@ManyToOne(fetch = FetchType.LAZY)
private TipoUsuario tipoUsuario;
@JoinColumn(name = "idfuncionario", referencedColumnName = "id", nullable = false, insertable = false, updatable = false)
@OneToOne(optional = false, fetch = FetchType.LAZY)
private Funcionario funcionario;
public class Funcionario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id", nullable = false)
private Integer id;
@Column(name = "nome", length = 200)
private String nome;
@Column(name = "logradouro", length = 200)
private String logradouro;
@Column(name = "numero", length = 50)
private String numero;
@Column(name = "complemento", length = 50)
private String complemento;
@Column(name = "bairro", length = 100)
private String bairro;
@Column(name = "cidade", length = 100)
private String cidade;
@Column(name = "cep", length = 8)
private String cep;
@Column(name = "uf", length = 2)
private String uf;
@Column(name = "telefone", length = 20)
private String telefone;
@Column(name = "celular", length = 20)
private String celular;
@Column(name = "cpf", length = 11)
private String cpf;
@Column(name = "rg", length = 8)
private String rg;
@Column(name = "orgaorg", length = 5)
private String orgaoRg;
@Basic(optional = false)
@Column(name = "tipologradouro", length = 100)
private String tipoLogradouro;
@Column(name = "observacao", length = [telefone removido])
private String observacao;
@Column(name = "ativo")
private Boolean ativo;
@Column(name = "datanasc")
@Temporal(TemporalType.DATE)
private Date dataNasc;
@Column(name = "estadocivil", length = 40)
private String estadoCivil;
@Column(name = "sexo", length = 40)
private String sexo;
@Column(name = "datacad")
@Temporal(TemporalType.DATE)
private Date dataCad;
@Column(name = "email")
private String email;
@Column(name = "pais")
private String pais;
@Column(name = "supervisor", nullable = false)
private Boolean supervisor;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "funcionario", fetch = FetchType.EAGER)
private Usuario usuario;
ao executar o sistema ele nao gerou nem a tabela Usuario nem a tabela Funcionario por que?
