Ajuda em tecnologia web( jpa e ejb )

GOSTARIA QUE ALGUEM ME EXPLICASSE PQ ESSA LINHA ESTA DANDO ERRO?!?!!ESTOU TRABALHANDO COM JPA E EJB
GRATO

//Recuperar um objeto no banco
        Midia midia = em.find( Midia.class, codigo );

Então israel, poste sua classe e a exception que esta sendo gerada, assim fica dificil dizer qual é o erro, por exemplo, pode estar acontecendo varias coisas, dando um NullPointerException no EntityManager, a variavel codigo caso ela seja uma wrapper pode estar com valor null, e etc.

Post o erro e o codigo que vai ficar mais fácil de descobrir.

Falou.

ok…

@Stateless(name="RepositorioMidiasHypersonic")
public class RepositorioMidiasHypersonic implements Serializable, RepositorioMidiaIf{
	private static final long serialVersionUID = -6944797726065905377L;


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


	private RepositorioMidiasHypersonic(){
	}

	public void cadastrarMidia(Midia midia){
		em.persist(midia);
	}
	
	//Recuperar um objeto no banco
        Midia midia = em.find( Midia.class, codigo );
			
	 public Midia buscaMidiaPorNome(String nome) {
            return (Midia)em.createQuery("from Midia where nome like ':nome%'").setParameter("nome",
            nome).getResultList().get(0);
            }
	
	public void removerMidia(Midia midia) throws MidiaInexistenteException{
                em.remove(midia);
                        throw new MidiaInexistenteException("A m�dia que deseja remover n�o existe!");
	}


}
import com.gugawag.imidias.modelo.Midia;
import net.sf.cglib.core.Local;
/**
 *
 * @author Israel
 */
@Local
public interface RepositorioMidiaIf {
public void cadastraMidia(Midia midia);
}

@Stateless(name="imidiasApp") public class iMidiasApp { /** * @param args */ public static void main(String[] args) { @EJB RepositorioMidiaIf repMidias = null; try { InitialContext context = new InitialContext(); repMidias = (RepositorioMidiaIf) context.lookup( "RepositorioMidiasHypersonic/remote" ); } catch (NamingException e) { e.printStackTrace(); } } }

@Stateless(name="FachadaiMidias")
public class FachadaiMidias implements Fachadaif{



         @PersistenceContext(unitName="iMidiasJPA")

        private ControladorGeral controladorGeral;

        @EJB
        private ControladorMidiasIf controladorMidias;
	private ControladorListas controladorListas;



	public void acrescentaMidia(Midia midia){
		controladorMidias.acrescentaMidia(midia);
	}

}
import net.sf.cglib.core.Local;

/@Local
interface Fachadaif {

}
Stateless=("ControladorMidias")
public class ControladorMidias implements Serializable, ControladorMidiasIf{
      
	 @PersistenceContext(unitName="iMidiasJPA")

        private static final long serialVersionUID = -8863737485546468270L;
        @EJB
        private RepositorioMidiasIf repmidias;

        public ControladorMidias() {

        }

       public void acrescentaMidia(Midia midia) {
        repmidias.acrescentaMidia(midia);
    }
import net.sf.cglib.core.Local;

@Local
public interface ControladorMidiasIf {

     public void acrescentaMidia(Midia midia);
}
@Entity
@Table(name="TB_FILME")
@DiscriminatorValue(value="F")
public class Filme extends Midia{



	/**
	 * 
	 */
	private static final long serialVersionUID = 7157470829082731770L;
	private String diretor, atores;
	
	public Filme(){
		super(null, null);
	}
	
	public Filme(String nome, String genero) {
		super(nome, genero);
	}
	
	
	public Filme(String nome, String genero, String diretor, String atores) {
		super(nome, genero);
		this.diretor = diretor;
		this.atores = atores;
	}

	public String getDiretor() {
		return diretor;
	}


	public void setDiretor(String diretor) {
		this.diretor = diretor;
	}


	/**
	 * A lista de atores, separados por v�rgula.
	 * return atores
	 */
	public String getAtores() {
		return atores;
	}

	/**
	 * A lista de atores, separados por v�rgula.
	 * @param atores
	 */
	public void setAtores(String atores) {
		this.atores = atores;
	}
	
	public String toString(){
		return "= Filme = | C�digo: " + getCodigo() + " | Nome: " + getNome() + " | G�nero: " + getGenero() + " | Diretor: " + diretor + " | Atores: " + atores;
	}
	

}
@Entity
@Table(name="TB_LIVRO")
@DiscriminatorValue(value="L")
public class Livro extends Midia{


	/**
	 * 
	 */
	private static final long serialVersionUID = 5508172425802854334L;

	private String ISBN;
        private String autor, editora;
	private short quantidadePaginas;
	
	
	public Livro() {
		super(null, null);
	}
	
	public Livro(String nome, String genero) {
		super(nome, genero);
	}
	
	public Livro(String nome, String genero, String isbn, String autor,
			String editora, short quantidadePaginas) {
		super(nome, genero);
		ISBN = isbn;
		this.autor = autor;
		this.editora = editora;
		this.quantidadePaginas = quantidadePaginas;
	}


	/**
	 * N�mero �nico do livro (ISBN)
	 * @return O ISBN
	 */
	public String getISBN() {
		return ISBN;
	}


	public void setISBN(String isbn) {
		ISBN = isbn;
	}


	public String getAutor() {
		return autor;
	}


	public void setAutor(String autor) {
		this.autor = autor;
	}


	public String getEditora() {
		return editora;
	}


	public void setEditora(String editora) {
		this.editora = editora;
	}


	public short getQuantidadePaginas() {
		return quantidadePaginas;
	}


	public void setQuantidadePaginas(short quantidadePaginas) {
		this.quantidadePaginas = quantidadePaginas;
	}

	public String toString(){
		return "= Livro = | C�digo: " + getCodigo() + " | Nome: " + getNome() + " | G�nero: " + getGenero() + " | ISBN: " + getISBN() + " | Autor: " + getAutor() + " | Editora: " + getEditora() + " | Quantidade P�ginas: " + getQuantidadePaginas();
	}

}
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="TIPO_MIDIA",discriminatorType=DiscriminatorType.CHAR)
@Table(name="TB_MIDIA")
@DiscriminatorValue(value="MI")
public class Midia implements Serializable{


	private static final long serialVersionUID = 2355293220614319026L;
	private String genero, nome, caminhoArquivo;
        @Id @GeneratedValue
	private int codigo;
        @Column(name="TIPO_MIDIA",length=1,nullable=false,insertable=true,updatable=true)
        private Character tipoMidia;
    @ManyToMany(mappedBy = "midias")
    private List<Lista> listas;

        public Character getTipoMidia() {
           return tipoMidia;
            }

        public void setTipoMidia(Character tipoMidia) {
        this.tipoMidia = tipoMidia;
        }


        public Midia() {
        }
		
	public Midia(String nome, String genero) {
		super();
		this.genero = genero;
		this.nome = nome;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getGenero() {
		return genero;
	}

	public void setGenero(String genero) {
		this.genero = genero;
	}
	
	public String getCaminhoArquivo() {
		return caminhoArquivo;
	}

	public void setCaminhoArquivo(String caminhoArquivo) {
		this.caminhoArquivo = caminhoArquivo;
	}

	public int getCodigo() {
		return codigo;
	}

	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}
	
	public String toString(){
		return "C&#65533;digo: " + codigo + "Nome: " + nome + " G&#65533;nero: " + genero;
	}

        public boolean equals(Midia midia){
            return codigo == midia.getCodigo();
        }
}
@Entity
@Table(name="TB_MUSICA")
@DiscriminatorValue(value="M")
public class Musica extends Midia{

	/**
	 * 
	 */
	private static final long serialVersionUID = 2586034876086109785L;
	private String compositor, interprete;

	public Musica(){
		super(null, null);
	}
	
	public Musica(String nome, String compositor, String interprete,
			String genero) {
		super(nome, genero);
		
		this.compositor = compositor;
		this.interprete = interprete;
	}


	public String getCompositor() {
		return compositor;
	}

	public void setCompositor(String compositor) {
		this.compositor = compositor;
	}

	public String getInterprete() {
		return interprete;
	}

	public void setInterprete(String interprete) {
		this.interprete = interprete;
	}

	
	public String toString(){
		return "= M&#65533;sica = | C&#65533;digo: " + getCodigo() + " | Nome: " + getNome() + " | G&#65533;nero: " + getGenero() + " | Compositor: " + compositor + " | Int&#65533;rprete: " + interprete;
	}


}

ai tem a parte do jsf que nao to conseguindo “enxergar” a parte logica…
espero que possa me ajudar

Olá.

Por favor, não poste tópicos com caps lock, não há necessidade disso ok? Bem como pedir ajuda utilizando caps lock, passa a impressão que está gritando. :slight_smile:

Sobre o seu problema, adicione:

/Recuperar um objeto no banco Midia midia = em.find( Midia.class, codigo );

Há um método ok? E mais um detalhe, como o nosso amigo pediu, qual a Exception que está ocorrendo?
E a parte de o .jsf não estar “enxergando” seus EJBs pode ser configuração do arquivo .xml, verifique isto.
Abraços.