Configurando o PostgreSQL - aceleradora6-tw/hibernateVraptorPostgresql GitHub Wiki

Instalar PostgreSQL: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04

Comandos Básicos:

  • \c [DB]- Equivalente ao use do MySQL ou MSSQL
  • \dt - Lista as tabelas do banco
  • \ds - Lista as sequences do banco
  • \dg - Lista usuários
  • ? - Ajuda

Criar usuário:

CREATE USER usuario WITH PASSWORD 'password';

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO usuario

Criar Sequence pelo Hibernate: Toda classe que receber a anotação @Entity, ou seja, classe que se tornará entidade do banco de dados, deverá também receber a anotação @Table(name=”NO ME”), onde NOME será o nome da classe. Por padrão, o PostgreSQL cria uma sequence que incrementa de 2 em 2, portanto, alterar este comportamento é necessário adicionar as seguintes anotações ao atributo id:

@Id @SequenceGenerator(name=”tabela_idtabela_seq”, sequenceName=”tabela_idtabela_seq”, allocationSize=1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator=”tabela_idtabela_seq”) @Column(name=”id”, updatable=false)

Segue o exemplo da classe Cliente com todas as anotações necessárias:

@Entity @Table(name="cliente") public class Cliente {

`@Id`
`@SequenceGenerator(name="cliente_idcliente_seq", sequenceName="cliente_idcliente_seq", allocationSize=1)`
`@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "cliente_idcliente_seq")`
`@Column(name="id", updatable=false)`
`private long id;`
`private String nome;`
`private int idade;`

//Getters e setters }