Pessoal preciso mais uma vez de ajuda.
As vezes eu tento entender algumas coisas que os profissionais de banco de dados fazem.
Eu preciso fazer um mapeamento no hibernate do modelo em anexo.
É apenas um pedaço MUITO reduzido do meu problema.
O banco é o Oracle.
Criaram uma tabela com uma sequence: NO_SEQ_PROD_CONS_FINAL
Eu fiz o mapeamento assim:
@Entity
@Table(name = "PRODUTO_CONSUMIDOR_FINAL", schema = "CORPORATIVO")
@SequenceGenerator(name = "SEQ_PROD_CONS_FINAL", sequenceName = "NO_SEQ_PROD_CONS_FINAL")
public class ProdutoConsumidorFinal implements java.io.Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="SEQ_PROD_CONS_FINAL")
@Column(name = "NO_SEQ_PROD_CONS_FINAL", unique = true, nullable = false, precision = 10, scale = 0)
private long noSeqProdConsFinal;
}
Na próxima tabela colocaram a mesma sequence como chave primária.
E mapeei:
@Entity
@Table(name = "PRODUTO_FINANCEIRO_CONS_FINAL", schema = "PRODFIN")
@SequenceGenerator(name = "SEQ_PROD_CONS_FINAL", sequenceName = "NO_SEQ_PROD_CONS_FINAL")
public class ProdutoFinanceiroConsFinal implements java.io.Serializable {
private static final long serialVersionUID = 9202223600458380307L;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_PROD_CONS_FINAL")
@Column(name = "NO_SEQ_PROD_CONS_FINAL", unique = true, nullable = false, precision = 10, scale = 0)
private long noSeqProdConsFinal;
}
Na próxima tabela, colocaram como chave primária a mesma sequence e mais uma data. 
Não estou sabendo mapear isso.
O hibernate tools mapeou assim.
@Entity
@Table(name = "VIG_PROD_FINANC_CONS_FINAL", schema = "PRODFIN")
public class VigProdFinancConsFinal implements java.io.Serializable {
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "noSeqProdConsFinal", column = @Column(name = "NO_SEQ_PROD_CONS_FINAL", nullable = false, precision = 10, scale = 0)),
@AttributeOverride(name = "dtIniVig", column = @Column(name = "DT_INI_VIG", nullable = false, length = 7)) })
private VigProdFinancConsFinalId id;
}
E o id pra essa tabela, chave composta: sequence + date
@Embeddable
public class VigProdFinancConsFinalId implements java.io.Serializable {
@Column(name = "NO_SEQ_PROD_CONS_FINAL", nullable = false, precision = 10, scale = 0)
private long noSeqProdConsFinal;
@Temporal(TemporalType.DATE)
@Column(name = "DT_INI_VIG", nullable = false, length = 7)
private Date dtIniVig;
}
Nas duas primeiras tabelas eu coloquei a sequence e parece estar correto, mas neste ultimo caso com chave composta ta complicado.
O validate do hibernate reclama da sequence NO_SEQ_PROD_CONS_FINAL na ultima tabela.
Tem tabela com 5 chaves formando a chave composta.

Alguém pode me ajudar ??
