Erro al usar delete hibernate annotations

clase de dominio

package org.transacciones.dominio;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.validation.constraints.NotNull;

import org.hibernate.annotations.Cascade;
@Entity
@javax.persistence.Table(name="terceros")
public class Tercero implements Serializable {
        private long id;
        private String nombre;
        private String direccion;
        private String telefono;
        private Tipo tipo;
        private Comision comision;
       
        @Id
        @GeneratedValue
        @Column(name="idTercero")
        public long getId() {
                return id;
        }
        public void setId(long id) {
                this.id = id;
        }
        @Column(name="nombre")
        @NotNull
        public String getNombre() {
                return nombre;
        }
        public void setNombre(String nombre) {
                this.nombre = nombre;
        }
        @Column(name="domicilio")
        public String getDireccion() {
                return direccion;
        }
        public void setDireccion(String direccion) {
                this.direccion = direccion;
        }
        @Column(name="telefono")
        public String getTelefono() {
                return telefono;
        }
        public void setTelefono(String telefono) {
                this.telefono = telefono;
        }
        @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.ALL},targetEntity=Tipo.class)
           @Cascade( { org.hibernate.annotations.CascadeType.SAVE_UPDATE,
           org.hibernate.annotations.CascadeType.DELETE_ORPHAN })

        @JoinColumn(name="idTipo")
        @NotNull
        public Tipo getTipo() {
                return tipo;
        }
        public void setTipo(Tipo tipo) {
                this.tipo = tipo;
        }
        @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.ALL},targetEntity=Comision.class)
           @Cascade( { org.hibernate.annotations.CascadeType.SAVE_UPDATE,
           org.hibernate.annotations.CascadeType.DELETE_ORPHAN })

        @JoinColumn(name="idComision")
        public Comision getComision() {
                return comision;
        }
        @NotNull
        public void setComision(Comision comision) {
                this.comision = comision;
        }

}

org.hibernate.MappingException: Unknown entity: java.lang.Long
        at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:693)
        at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1485)
        at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:99)
        at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:73)
        at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:956)
        at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:934)
        at org.transacciones.modelo.CrudTercero.delete(CrudTercero.java:37)
        at org.transacciones.vistas.Ventas$EventosTerceros.actionPerformed(Ventas.java:537)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6267)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6032)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

CRUD

package org.transacciones.modelo;

import java.util.List;
import org.hibernate.Query;
import org.hibernate.classic.Session;
import org.transacciones.dominio.Tercero;

public class CrudTercero {
        public void save(Tercero tercero){
                Session s = HibernateUtil.getSessionFactory().openSession();
                s.getTransaction().begin();
                try {
                        s.save(tercero);
                        s.getTransaction().commit();
                } catch (Exception e) {
                        // TODO: handle exception
                        s.getTransaction().rollback();
                        e.printStackTrace();
                }
        }
        public void update(Tercero tercero){
                Session s = HibernateUtil.getSessionFactory().openSession();
                s.getTransaction().begin();
                try {
                        s.update(tercero);
                        s.getTransaction().commit();
                } catch (Exception e) {
                        // TODO: handle exception
                        s.getTransaction().rollback();
                        e.printStackTrace();
                }
        }
        public void delete(long id){
                Session s = HibernateUtil.getSessionFactory().openSession();
                s.getTransaction().begin();
                try {
                        s.delete(id);
                        s.getTransaction().commit();
                } catch (Exception e) {
                        // TODO: handle exception
                        s.getTransaction().rollback();
                        e.printStackTrace();
                }
        }
        public static List<Tercero> findAll(){
                Session session = HibernateUtil.getSessionFactory().openSession();
                Query q = session.createQuery("From Tercero t");
                return q.list();
        }
        public static Tercero findById(Long id){
                Session s = HibernateUtil.getSessionFactory().openSession();
                return (Tercero)s.get(Tercero.class, id);
        }
}

A ver si alguien me dice que estoy realizando mal.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Me falto poner como la uso

package org.transacciones.dominio;
import org.transacciones.modelo.CrudTercero;

public class TestTercero {

        public static void main(String[] args) {
                /*
                 * Borrando de registros de la tabla tercero
                 */

                new CrudTercero().delete(new Long(15)); //borrndo el registro 15
        }
}

Imagen de ezamudio

session.delete

el método delete de la sesión de Hibernate espera que le pases un objeto mapeado, no un ID.

Solucionado

Gracias ezamudio tema solucionado.