Hibernate - problema na hora do update

Pessoal,

Tenho duas entidades. Uma Fornecedor e outra ContaPagar. Fiz o relacionamento nas duas dessa forma:

@Entity
public class Fornecedor {

	@Id
	@GeneratedValue
	private Long id;
	private String nome;
	private String descricao;

	@OneToMany
	@JoinColumn(name="fornecedor_id") 
	private Set<ContaPagar> contaPagar;
.
.
@Entity
public class ContaPagar{

	@Id
	@GeneratedValue
	private Long id;
	private String descricao;
	private Double valor;

	@Temporal(TemporalType.DATE)
	private Calendar data = new GregorianCalendar();

	private boolean pago;

	@ManyToOne
	@JoinColumn(name="fornecedor_id")
	@Fetch(FetchMode.JOIN)  
	private Fornecedor fornecedor;
.
.
.

Esta funcionando blz…só na hora de fazer o update do fornecedor é que ocorre um problema. Ele faz o update do fornecedor, mas tb faz o update da ContaPagar. Como aparece no log:

Alguém sabe como eu posso resolver isso?

veja se isso te esclarece algo:

e pra depois…

???

http://www.guj.com.br/posts/list/7249.java

http://www.guj.com.br/java.artigo.125.1.guj

Tente usar o @Cascade(CascadeType.PERSIST)

desculpe, li novamente sua dúvida, tinha entendido que não estava salvando, mas na verdade está salvando e você não quer isso.
Se não tivesse salvando era so usar o :

CascadeType.ALL

como coloquei acima, ou seja, sempre salva todos os relacionados.

Agora como não quer update automático no contaPagar, coloque a @Transient e faça um teste.

    @OneToMany   
    @JoinColumn(name="fornecedor_id")   
    @Transient
    private Set<ContaPagar> contaPagar;

ah, esses teus pojos é sempre bom vc implementar Serializable, como é interface marcadora e só colocar:

@Entity   
public class Fornecedor implements Serializable { 

flw

p.s. com o Transient você diz que o objeto não faz parte durante a serialização, e ele não entrará no processo, então com isto você não vai nem salvar e nem update, não sei é exatamente isso que deseja.
Se for apenas o update que você não deseja, então tente usar o @Cascade.

Pessoal…resolvido…era só definir o lado fraco da relação. Eu simplesmente mudei a entidade Fornecedor para:

@OneToMany(mappedBy="fornecedor")
@Cascade({org.hibernate.annotations.CascadeType.EVICT}) 
private Set<ContaPagar> contaPagar;

E resolveu…ele não fez o update no ContaPagar, apenas no Fornecedor.