hibernate_sequence fora do schema padrão

6 respostas
M

Boa noite.

estou tendo alguns problemas com a sequence default do hibernate, usada em conjunto com um schema que não seja o default.

um exemplo:

@Entity
@Table(schema="domain")
public class User implements Serializable {

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int id;
	private String name;
	private String password;

// get, set, etc...
}

Quando o banco é criado, tanto a tabela quanto a sequence são criadas dentro do schema domain.

nos selects, sai tudo certo, buscando a tabela do schema indicado

agora na hora de inserir, o hibernate não busca a sequence dentro do schema, gerando um erro:

SEVERE: ERROR: relation "hibernate_sequence" does not exist javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not get next sequence value

o certo seria o hibernate fazer a busca por domain.hibernate_sequence, mas neste caso ele ignora o schema.

alguém já passou por isso?

6 Respostas

F

Consegui resolver isso?

M

eu acabei desistindo dessa abordagem e resolvi criar as sequences, ao invés de utilizar a gerada pelo hibernate. as que eu gerei funcionaram normalmente dentro do schema.

A

cara, tenta adicionar a anotação pra configuração da tua sequence, às vezes pode tá gerando incompatibilidade, faz isso manualmente, deve ficar alguma coisa tipo assim:

@Entity  
  @Table(schema="domain")  
  @GenericGenerator(name = "SEQ_USER", parameters = { @Parameter(name = "schema", value = "domain"),
		@Parameter(name = "sequence", value = "SEQ_USER") }, strategy = "org.hibernate.id.SequenceGenerator")
  public class User implements Serializable {  
     
      @Id  
      @GeneratedValue(generator = "SEQ_USER")  
       private int id;  
       private String name;  
       private String password;  
     
  // get, set, etc...  
  }

testa isso aí e fala pra gente o que aconteceu :lol:

F

Valeu muito obrigado pelas respostas, vou testar o esquema do adrianoneres

A

depois posta aí o resultado, pra gente saber se é isso mesmo e poder resolver se topar com uma dessas algum dia :smiley:

F

adrianoneres valeu pela dica, deu certinho só que agora estou com outro problema vamos ver se vc pode me ajudar.

Quando tento adicionar alguma coisa no banco, atraves do hibernate, e da alguma exception, mesmo sem gravar nada no banco ele incrementa a sequence.

Sabe algum jeito de arrumar isso?

Criado 22 de outubro de 2009
Ultima resposta 23 de dez. de 2010
Respostas 6
Participantes 3