Boa Trade Galera.
Seguinte to com um probleminha
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
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