Update Hibernate

Boa Trade Galera.

Seguinte to com um probleminha :smiley:

Tenho as Seguintes Classes

[code]package entity;

/*

  • Import’s
    */

@Entity
@Table(name = “tbPessoa”, schema = “public”)
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = “pesTipo”, discriminatorType = DiscriminatorType.STRING)
@DiscriminatorValue(value = “pessoa”)
public class Pessoa implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@SequenceGenerator(name = "genPessoa", sequenceName = "genPessoa", initialValue = 1)
@GeneratedValue(generator = "genPessoa", strategy = GenerationType.AUTO)
private Integer pesCod;
private String pesNome;
private String pesNomeReduzido;
private String pesFone;
private String pesFax;
private String pesCel;
private Boolean pesCliente;
private Boolean pesFornecedor;
    private Boolean pesAtivo;

@OneToOne(mappedBy="pessoa")
@Cascade(CascadeType.ALL)
private Endereco endereco;

@OneToMany(cascade={javax.persistence.CascadeType.PERSIST, javax.persistence.CascadeType.REMOVE})
@Cascade({org.hibernate.annotations.CascadeType.PERSIST,org.hibernate.annotations.CascadeType.DELETE})
@JoinColumn(name="pesCod_fk")
private List<ContaReceber> contasReceber;

public Pessoa() {
	// TODO Auto-generated constructor stub
}

}[/code]

[code]
package entity;

/*

  • Import’s
    */

@Entity
@Table(name=“tbContasReceber”, schema=“public”)
public class ContaReceber implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@SequenceGenerator(name="genCr", sequenceName="genCr", initialValue=1)
@GeneratedValue(generator="genCr", strategy=GenerationType.AUTO)
private Integer crCod;

@ManyToOne
@JoinColumn(name="pesCod_fk", referencedColumnName="pesCod", nullable= false)
private	Pessoa pessoa;

@ManyToOne
@JoinColumn(name="sitCod_fk", referencedColumnName="sitCod", nullable=false)
private Situacao situacao;

private BigDecimal crValor;
private BigDecimal crJuros;
private BigDecimal crTotal;
private BigDecimal crValorRecebido;

@Temporal(TemporalType.DATE)
private Date crDataVencimento;
@Temporal(TemporalType.DATE)
private Date crDataRecebimento;
@Temporal(TemporalType.DATE)
private Date crDataEmissao;

public ContaReceber() {
}

}[/code]

O problema é o seguinte Trabalho com Flex, Mentawai e Hibernate
Muitos ja devem saber que o Flez tem um grande problema quando a Lazy…
Para me poupar disso carrego sómento os dados que eu preciso… E agora surjiu outro problema…

Seguinte

Tenho a tela de cadastro de Pessoa Até ai blza carrego só os campos pertinententes a Pessoa usando
Criteria…

O Problema é quando preciso altera algum dado de uma pessoa…

Como só busquei as informações de Pessoa o List não foi carregado… E quando eu faço o seguinte

Ele da o Seguinte erro

17:54:24,875 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null 17:54:24,875 ERROR [JDBCExceptionReporter] Entrada em lote 0 update public.tbContasReceber set pesCod_fk=null where pesCod_fk=1 foi abortada. Chame getNextException para ver a causa. 17:54:24,875 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: 23502 17:54:24,875 ERROR [JDBCExceptionReporter] ERROR: null value in column "pescod_fk" violates not-null constraint 17:54:24,875 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

Dizendo que pesCod_fk não pode ser null e não pode mesmo :smiley:

O Problema é que o hiberante ao invés de fazer update sómente na Pessoa ele atualiza todas as classes filias sem precisar…
Tem algum meio de fazer atualizar só a Pessoa