Estou tendo algumas dúvidas com hibernate.
Estou usando annotations para fazer o mapeamento. Como eu faço o mapeamento para tabelas que são geradas diáriamente?
E o nome dos “ids” das tabelas diárias também mudam.
Por exemplo, eu tenho uma tabela de nome “tabela_20090209”, então, o nome do id será “id_tabela_20090209”.
[RESOLVIDO] Dúvidas Hibernate
5 Respostas
Talvez tu precise criar classes e annotations diariamente tb! 
Ou tente procurar na internet sobre como configurá-lo programaticamente.
Como seria criar classes dinâmicamente?
Segue um exemplo:
@Entity
@Table(name=“tabela_20090209”)
public class Produto {
@Column(name="id_tabela_20090209",nullable=false, length=40)
private String nome;
}
Cara, não vou dizer que é impossível, mas vc esbarraria nas seguintes situações:
1ª: O Hibernate lê as anotações na inicialização da sua aplicação, ou seja, qualquer alteração programatica deverá ser feita antes da inicialização do Hibernate.
2ª: O valor de um atributo de uma anotação deve ser uma constante, então, a principio algo como isso não funciona: @Id(name=getNome())
Talvez pra começar a pensar em uma “adaptação técnica” você poderia ver os fontes dessas anotação do Hibernate (Id e Table) e tentar criar as suas proprias, substituindo o valor que vc quer dentro da propria anotação.
Algo como isso:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Id {
String name() default getDate();
}
O problema só será convencer a VM de que o que vc esta colocando após o default é uma constante 
Boa sorte.
Achei uma solução bem interessante. Que já estou até implementando… 
Eu uso o banco PostgreSQL e sei que esta feature também tem no Oracle, o PostgreSQL faz particionamento de tabelas, que pelo que entendi funciona como uma herança.
Cria-se uma tabela pai, que é com quem será feita as trasações CRUD e desta tabela cria-se as tabelas mensais ou diárias, herdando desta tabela pai. E quando os dados forem sendo incluídos as tabelas diárias vão sendo criadas e recebendo os dados e quando for feita uma busca por exemplo, ela será feita nas tabelas diárias.
Desta forma eu mapei a tabela pai com annotations e resolvi o meu problema 
Abaixo segue o link da documentação do postgre:
http://www.postgresql.org/docs/8.3/static/ddl-partitioning.html
Agradeço a ajuda de todos… ABS!!!