Pessoal,
EStou utilizando o banco de dados oracle, e gostaria de utilizar uma SEQUENCIA Especifica ao incluir no banco de dados,
pois criei uma sequence : HIBER_ENSAIO.
Como fazer isso ?
segue abaixo minha classe :
package modelo;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@Table(name="ensaio")
public class Ensaio {
@Id
@GeneratedValue
private Integer id;
private String nome;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Veja esse post: SequenceGenerator .
Pesquise por @GeneratedValue e @SequenceGenerator
nao consigo ver as resposta.
[quote=evandro_araujo]nao consigo ver as resposta.[/quote]Aperte CTRL+F5
Tentei fazer da seguinte forma : só que não esta pegando a sequence que eu escolhi
@SequenceGenerator(name="HIBER_ENSAIO", sequenceName="HIBER_ENSAIO", allocationSize=1, initialValue=0)
public class Ensaio {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="HIBER_ENSAIO")
E qual a mensagem de erro?
evandro_araujo,
Tente colocar o nome do schemma onde está a sequencia, tipo
sequenceName="seu_schemma.HIBER_ENSAIO"
Eu uso assim:
@SequenceGenerator(name="ins",allocationSize=1, sequenceName="tb_instrutor_id_seq")
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="ins")
@Id
Long id;
Até onde eu sei toda sequence criada, tem por default um _seq ao final, no seu nao estou vendo isso:
@SequenceGenerator(name="HIBER_ENSAIO", sequenceName="HIBER_ENSAIO", allocationSize=1, initialValue=0)
muda o sequenceName para “HIBER_ENSAIO_SEQ”
Abraços
[quote=rof20004]Até onde eu sei toda sequence criada, tem por default um _seq ao final, no seu nao estou vendo isso:
@SequenceGenerator(name="HIBER_ENSAIO", sequenceName="HIBER_ENSAIO", allocationSize=1, initialValue=0)
muda o sequenceName para “HIBER_ENSAIO_SEQ”
Abraços[/quote]Isso não é regra. O nome pode ser qualquer um.
É mais provável que algum erro está acontecendo e ele não está vendo.
E mais, essas configurações que ele está utilizando: allocationSize=1, initialValue=0 podem estar gerando erro.
grinche
Outubro 15, 2012, 2:58pm
#12
Abaixo segue um exemplo de como utilizo aqui
@Entity
@Audited
@SequenceGenerator(name="COPRECLIENTE_SEQUENCE", sequenceName="COPRECLIENTE_SEQUENCE", initialValue=1, allocationSize=1)
@Table(name="COPRECLIENTE")
public class Prospect implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="COPRECLIENTE_SEQUENCE")
@Column(name="PRECLIENTEID")
private Integer id;
...
[]'s