package autoescola.model;
import java.net.Proxy.Type;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Conta
{
@Id
@Column (insertable = false)
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String descricao;
@Temporal(TemporalType.DATE)
private Date data;
private String valor;
private boolean tipo;
.
.
.
}
CREATE TABLE conta
(
id bigint NOT NULL,
data date,
descricao character varying(255) NOT NULL,
valor character varying(255) NOT NULL,
tipo boolean NOT NULL,
CONSTRAINT pkid PRIMARY KEY (id)
)
BaseDAO<Conta> dao = new BaseDAO<Conta>();
Calendar calendario = Calendar.getInstance();
Conta conta1 = new Conta();
conta1.setDescricao("Conta 1");
conta1.setData(calendario.getTime());
conta1.setValor("R$ 500,00");
dao.create(conta1);
O erro diz que é por causa da chave primária. Vide:
Internal Exception: org.postgresql.util.PSQLException: ERROR: null value in column "id" violates not-null constraint
Error Code: 0
Call: INSERT INTO CONTA (DATA, VALOR, DESCRICAO, TIPO) VALUES (?, ?, ?, ?)
bind => [2008-12-05, R$ 500,00, Conta 1, false]
Já tentei usar GenerationType.AUTO e GenerationType.SEQUENCE mas também não funcionou. Alguém pode ajudar?