Ola Pessoal,
Estou tentando inserir um registro filho porem da erro, alguem tem alguma ideia do que pode ser ?
Entidade Pai:
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name = "cod_contrato")
    private Long codContrato;
    
    @Column(name = "des_contrato")
    private String desContrato;
    
    @Column(name = "obs")
    private String obs;
    
    @Type(type = "statusEnumType")
    @Column(name = "des_status")
    private StatusEnum desStatus;
   	
    @Type(type = "simNaoEnumType")
    @Column(name = "finalizado")
    private SimNaoEnum finalizado;
	
    @JoinColumn(name = "tp_contrato", referencedColumnName = "cod_tipo_contrato")
    @ManyToOne
    private TiposContratos tpContrato;
    
    @JoinColumn(name = "cod_contato", referencedColumnName = "cod_contato")
    @ManyToOne
    private Contatos contato;
    
    @JoinColumn(name = "cod_grupo", referencedColumnName = "cod_grupo")
    @ManyToOne
    private Grupos grupo;
    
    @JoinColumn(name = "cod_pessoa", referencedColumnName = "cod_pessoa")
    @ManyToOne
    private Pessoa pessoa;
    
    @OneToMany(mappedBy = "contratos")
    private List<ContratosEspaco> contratosEspacoList; >>>> AQUI ESTA ESTA DANDO ERRO
Entidade Filho:
   @Id
   @Column(name = "cod_contrato")
   private Long codContrato;
	
   @Id
   @Column(name = "cod_espaco")
   private Long codEspaco;
    
   @Type(type = "statusEnumType")
   @Column(name = "des_status")
   private StatusEnum desStatus;
    
   @JoinColumn(name = "cod_contrato", referencedColumnName = "cod_contrato")
   @ManyToOne
   private Contratos contratos;
    
   @JoinColumn(name = "cod_espaco", referencedColumnName = "cod_espaco")
   @ManyToOne
   private Espacos espaco;
Inserindo apenas a entidade Pai consigo na boa.
Se eu tento inserir a entidade filha inserindo uma lista no pai e persistindo o pai assim:
Codigo:
			if (listaEspacoSelecionados.size() > 0){
				List<ContratosEspaco> lista = new ArrayList<ContratosEspaco>();
				for (Espacos obj : listaEspacoSelecionados){
					ContratosEspaco es = new ContratosEspaco();
					es.setCodContrato(contrato.getCodContrato());
					es.setCodEspaco(obj.getCodEspaco());
					es.setDesStatus(StatusEnum.ATIVO);
					lista.add(es);
				}
				getContrato().setContratosEspacoList(lista);
			}
			
			if (getContrato().getCodContrato() != null) {
				em.merge(getContrato());
			} else {
				em.persist(getContrato());
			}
Da o seguinte erro, conseguindo achar a entidade filha:
11:49:09,075 ERROR [STDERR] javax.persistence.EntityNotFoundException: Unable to find br.com.xyz.entity.ContratosEspaco with id br.com.xyz.entity.ContratosEspacoPK[codContrato=8, codEspaco=1]
11:49:09,075 ERROR [STDERR] 	at org.hibernate.ejb.Ejb3Configuration$Ejb3EntityNotFoundDelegate.handleEntityNotFound(Ejb3Configuration.java:113)
Ao tentar inserir a entidade Pai primeiro e depois a filha da o seguinte erro:
			if (getContrato().getCodContrato() != null) {
				em.merge(getContrato());
			} else {
				em.persist(getContrato());
			}
			
			if (listaEspacoSelecionados.size() > 0){
				for (Espacos obj : listaEspacoSelecionados){
					ContratosEspaco es = new ContratosEspaco();
					es.setCodContrato(contrato.getCodContrato());
					es.setCodEspaco(obj.getCodEspaco());
					es.setDesStatus(StatusEnum.ATIVO);
					em.persist(es);
				}
			}
11:40:57,129 INFO  [STDOUT] Hibernate: 
    insert 
    into
        contratos_espaco
        (cod_contrato, des_status, cod_espaco) 
    values
        (?, ?, ?)
11:40:57,129 INFO  [LongType] could not bind value '8' to parameter: 4; O índice 4 está fora do intervalo.
11:40:57,161 WARN  [JDBCExceptionReporter] SQL Error: 0, SQLState: S1093
11:40:57,161 ERROR [JDBCExceptionReporter] O índice 4 está fora do intervalo.
11:40:57,161 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: could not insert: [br.com.xyz.entity.ContratosEspaco]
Alguem tem alguma ideia do que pode ser ?
Estou tuilizando Seam 2.2.1 + RichFaces 3.3.2 + Jboss 5.1.0 + SQL 2005
Obrigado,
Rodrigo