si si possono riunire le discussioni così si evita confusione

Allora ti allego le classi:

1)Questo è OggettoFacade
codice:
package beans;

import entità.Oggetto;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless
public class OggettoFacade implements OggettoFacadeLocal {
    @PersistenceContext(unitName = "DB-ejbPU")
    private EntityManager em;

    
    protected EntityManager getEntityManager() {
        return em;
    }

    @Override
    public boolean inserisci(Oggetto oggetto) {
     
        try {
            em.persist(oggetto);

            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }

    }
    
    public void persist(Object object) {
        em.persist(object);
    }


    @Override
    public boolean rimuovi(Oggetto oggetto) {
        try {
            em.remove(em.merge(oggetto));

            em.flush();

            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    @Override
    public Oggetto find(Object id) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int count() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    

}

e questa è l'interfaccia
[CODE]
package beans;

import entità.Oggetto;
import java.util.List;
import javax.ejb.Local;

@Local
public interface OggettoFacadeLocal {

boolean inserisci(Oggetto oggetto);

boolean rimuovi(Oggetto oggetto);

Oggetto find(Object id);

int count();

}
[\CODE]

2)Questa è la classe entità dal database

[CODE]
package entità;

import java.io.Serializable;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

@Entity
@Table(name = "oggetto")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Oggetto.findAll", query = "SELECT o FROM Oggetto o"),
@NamedQuery(name = "Oggetto.findById", query = "SELECT o FROM Oggetto o WHERE o.id = :id")})
public class Oggetto implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@NotNull
@Column(name = "id")
private Integer id;
@Basic(optional = false)
@NotNull
@Lob
@Size(min = 1, max = 65535)
@Column(name = "nome")
private String nome;

public Oggetto() {
}

public Oggetto(String nome) {
this.nome = nome;
}

public Oggetto(Integer id, String nome) {
this.id = id;
this.nome = nome;
}

public Integer getId() {
return id;
}

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

public String getNome() {
return nome;
}

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

@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}

@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Oggetto)) {
return false;
}
Oggetto other = (Oggetto) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}

@Override
public String toString() {
return "entit\u00e0.Oggetto[ id=" + id + " ]";
}

}
[\CODE]

3)Questa è la servlet dal WAR

codice:
package servlet;
import....

public class AggiungiServ extends HttpServlet {

    
    @EJB
    private OggettoFacadeLocal ogg;
    
    
    protected void processRequest(HttpServletRequest req, HttpServletResponse res)
            throws ServletException, IOException {
        
        
        
        
        
        res.setContentType("text/html");	// invia una pagina html
		// Preleva lo stream dalla response
		PrintWriter toClient = res.getWriter();
		
 		// prende il parametro "username" dalla request
		String ogget = req.getParameter("oggetto");
                Oggetto o=new Oggetto();
                o.setNome(ogget);
                boolean b=ogg.inserisci(o);
                

		// Prepara la pagina html di risposta
		String html = (
				"<html>" + 
				   "<title>AggiungiServ</title>" +
				   "<body>" +
			              "<font size=4>Oggetto '" + ogget + "' aggiunto con successo! </font>"+ b + 
		  		   "</body>"+
				"</html>");

		toClient.println( html );
		toClient.close();
}
4) La persistence unit
codice:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persisten...stence_2_0.xsd">
  <persistence-unit name="DB-ejbPU" transaction-type="JTA">
    <provider>oracle.toplink.essentials.PersistenceProvider</provider>
    <jta-data-source>Carrello</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <validation-mode>CALLBACK</validation-mode>
    <properties>
      <property name="toplink.cache.shared.Oggetto" value="false"/>
      <property name="eclipselink.ddl-generation" value="create-tables"/>
      <property name="toplink.ddl-generation" value="create-tables"/>
    </properties>
  </persistence-unit>
</persistence>