Sistema de Avaliação

Pessoal,

Estou fazendo TCC e preciso implementar um sistema de avaliações.
Eu preciso salvar as respostas do usuário para no final fazer um relatório de erros e acertos.
Um amigo que programa em php recomendou usar uma tabela temporária para isto.
Eu implementei como teste e funcionou.

A dúvida agora:
Esta é uma boa prática? Existe uma forma melhor?

Outra dúvida:
Caso esta seja a melhor forma. Eu fiz usando uma chave primária burra. Acontece que a cada avaliação, cria-se novas chaves e vai chegar uma hora que o limite das chaves vai estourar, já que a cada avaliação vários registros vão sendo criados.
No final eu apago a avaliação da tabela temporária, mas o número da chave continua crescendo.
Como contornar este problema?

Estou usando Hibernate com XML e PostgreSQL.

Não sei qual a modelagem de dados você criou, mas eu usaria uma tabela de respostas que se relaciona com tabela de perguntas.
Não vejo por que ser uma tabela temporária já que você vai precisar dos dados para gerar relatórios.
Uma Pk do tipo bigint deveria ser suficiente para um sistema de avaliação.

furutani,

Isto foi feito.
A tabela temporária é para armazenar as respostas do usuário durante a avaliação.
Por não ser necessário armazenas as avaliações realizadas que uso uma tabela temporário.
Porém, como diz no meu tópico, quero saber se existe uma possibilidade diferente e que resolva.

Dependendo de como vai funcionar esse sistema, pode-se guardar as respostas na Session em vez de tabelas temporarias.