Incomparable type s: and java.lang.Long

Pessoal , estou rodando meu projeto e esta dando erro na seguinte linha do meu projeto

C:…\PrecoPorMetodo.java:[81,31] incomparable type
s: br.com.cqa.lims.analise.Metodo and java.lang.Long

	public int getGrupoIdDesteMetodoNaEspec(Especificacao especificacao, Metodo metodo){
		
		OrcamentoServiceBean osb = new OrcamentoServiceBean();

		List<PrecoPorMetodo> listaDaEspecificacao = osb.buscarPrecoMetodoEspecificacao(especificacao);
		
		for(PrecoPorMetodo precoMetodo : listaDaEspecificacao){
			
			if (precoMetodo.getMetodo() == metodo.getId()){
				return precoMetodo.getGrupo();
			
		
		}
			
		}			
		return 0;
	}

/////////// o erro esta aqui 

			if (precoMetodo.getMetodo() == metodo.getId()){
				return precoMetodo.getGrupo();

precoMetodo.getMetodo() é um long?

A mensagem de erro é clara.

Você não pode comparar uma instância de Metodo com uma instância de Long com o operador ==.

Se realmente quiser fazer isso (e eu não acho que quer), você terá que usar o método equals.

Qual parte do “não se compara objetos com ==” você deixou de usar ali em cima?
Objetos possuem o método equals…
Aliás, por padrão, mesmo que o método tenha o mesmo valor que o long em questão, o resultado do equals será false, pois, são de classes distintas.
Você precisa comparar os valores primitivos, neste caso (ou cada um dos atributos envolvidos).

Pessoal, o meu getMetodo esta assim :


public abstract class Entidade implements Serializable {

	private static final long serialVersionUID = 222432820467434425L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	protected Long id;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}
......

////////////////////////////////

@Entity(name = "br.com.cqa.lims.orcamento.PrecoPorMetodo") 
@Table(name="preco_por_metodo")
public class PrecoPorMetodo extends Entidade{
	@ManyToOne
	@JoinColumn(name="metodo_id", nullable=false)
	private Metodo metodo;

	public Metodo getMetodo() {
			return metodo;
	}

	public void setMetodo(Metodo metodo) {
		this.metodo = metodo;
	}


	public int getGrupoIdDesteMetodoNaEspec(Especificacao especificacao, Metodo metodo){
		
		OrcamentoServiceBean osb = new OrcamentoServiceBean();

		List<PrecoPorMetodo> listaDaEspecificacao = osb.buscarPrecoMetodoEspecificacao(especificacao);
		
		for(PrecoPorMetodo precoMetodo : listaDaEspecificacao){
			
------>>>>ERRO AQUI      If (precoMetodo.getMetodo() == metodo.getId()){
				                         return precoMetodo.getGrupo(); 	
 		}
			
		}			
		return 0;
	}

Como posso resolver isso … .?? tem alguma conversão que pode ser feito ???