Erro método executando merger automaticamente

Esse código não e valido, é apenas para demonstrar pelo que estou passando.

quando chamo o método ‘getObject(long id)’ ele me retorna corretamente, o problema é que se eu fizer um alteração
em object ‘object.setDs(“Alterado”)’ no return ele executa uma update, se eu adicionar algum elemento de composição com object ele insere esse registro também.

Utilizo EJB 3.0 e JPA 2.0.


	<persistence-unit name="JPA">
		<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
		<jta-data-source>OnlineDesenv</jta-data-source>
                <class>MyObject</class>
		<properties>
				<property name="eclipselink.target-server" value="WebLogic_10"/>			
				<property name="eclipselink.logging.level" value="FINEST"/>
				<property name="eclipselink.logging.logger" value="DefaultLogger" />
		</properties>
	</persistence-unit>
		
</persistence>

@Stateless ( mappedName = "ejb/Session" )
public class Session implements SessionLocal, SessionRemote {

	@PersistenceContext(unitName="JPA")
	private EntityManager em;

	
	
	public MyObject getObject(long id){
		
		MyObject object;
		
		try{
			
			myObject = (MyObject ) em.createNamedQuery("MyObject .findById").setParameter("pId", id).getSingleResult();

			myObject .setDs("Alterado");
			
		}catch(NoResultException e){
			
			myObject = null;
			
		}
	
		return myObject ;
		
	}
	
	
}	



@Entity
@Table(name="MyObject")
@NamedQueries({
	
    @NamedQuery(name="MyObject .findById", query=" select o from MyObject o where o.id = :pId ")
					  
})	

public class MyObject implements Serializable {
	private static final long serialVersionUID = 1L;

    
	@Column(name="DS")
	private String ds;

   //getters e setters


}