Hibernate e chave composta não incrementa automaticamente

Pessoal.
Estou criando uma aplicação usando o hibernate.

Minha tabela tem chave composta. Para ela criei uma classe com o nome de Logomarca e outra LogomarcaPk.
Na classe Logomarca, idLogomarca é auto-incremento.
Quando tento inserir algo no banco ele não incrementa automaticamente. O que será que está faltando ?
Estou usando o banco HsqlDB para testes.

Obrigado

@Entity
@IdClass(LogomarcaPk.class) // Classe referente a chave composta
public class Logomarca {

	@Id 
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name = "LGM_LGM_ID")
	private long idLogomarca;

	@Id 
	@Column(name = "LGM_LGM_VERSAO")
	private int idVersao;

	@Column(name = "PRD_PRD_ID", nullable = false)
	private int idPrd;

	@Column(name = "LGM_LGM_ID_PAI", nullable = true)
	private int idLogomarcaPai;

	@Column(name = "LGM_LGM_VERSAO_PAI", nullable = true)
	private int idVersaoPai;

	... getrs e setrs

}

Para esta classe criei uma classe que LogomarcaPk


@Embeddable
public class LogomarcaPk implements Serializable  {
	
	@Column(name = "LGM_LGM_ID")
	private Long idLogomarca;
	
	@Column(name = "LGM_LGM_VERSAO")
	private int idVersao;
	
	... gets e sets
	
}

Pessoal.
Descobri que o problema é na geração da tabela.
Quando tiro a linha

@IdClass(LogomarcaPk.class) // Classe referente a chave composta

da classe Logomarca a tabela Logomarca é gerada com o campo id auto-incremento.
O que pode estar errado ?

Para a geração uso o código abaixo.


public static void main(String[] args) {
		AnnotationConfiguration cfg = new AnnotationConfiguration();
		
		// GERA A TABELA ARQUIVO
		cfg.addAnnotatedClass(Arquivo.class);
		new SchemaExport(cfg).create(true, true);
		
		// GERA A TABELA LOGOMARCA
		cfg.addAnnotatedClass(Logomarca.class);
		new SchemaExport(cfg).create(true, true);
		
		// GERA A TABELA TIPOARQUIVO
		cfg.addAnnotatedClass(TipoArquivo.class);
		new SchemaExport(cfg).create(true, true);
	}

Obrigado

No hibernate, nao tem como, AINDA, se usar uma chave composta com uma das chaves sendo auto-increment…

Ou vc usa um, ou usa outra…

Minha soluçao:
Eu crio na minha classe DAO, um getMaxID(), assim eu pego o ultimo id e incremento ele manualmente numa classe de mapeamento de chave composta.

private int getMaxID()
    {
        Object obj = sessao.createSQLQuery("SELECT MAX(ID) FROM LOGOMARCA").uniqueResult();
        if(obj==null)
            return 0;
        return Integer.parseInt( obj.toString());
    }