Jpa - como usar um Sequence Especifico

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.

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