Checkbox p:dataTable não marca

Pessoal, fiz um datatable com checkbox para selecionar, porem não estou conseguindo selecionar o registro atraves do checkbox.
O checkbox nao fica marcado quando clico nele
e detalhe não da nenhum erro.


public class Itensguiasol implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected ItensguiasolPK itensguiasolPK;
    @Column(name = "qtdsol")
    private Integer qtdsol;
    @Column(name = "qtdaut")
    private Integer qtdaut;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "ch")
    private BigDecimal ch;
    @Column(name = "filme_m2")
    private BigDecimal filmeM2;
    @Column(name = "status")
    private Character status;
    @Size(max = 100)
    @Column(name = "mensagem")
    private String mensagem;
    @Size(max = 1)
    @Column(name = "auditoria")
    private String auditoria;
    @Size(max = 1)
    @Column(name = "statusaud")
    private String statusaud;
    @Column(name = "dataaud")
    @Temporal(TemporalType.DATE)
    private Date dataaud;
    @Size(max = 200)
    @Column(name = "obsaud")
    private String obsaud;
    @Column(name = "valfator")
    private BigDecimal valfator;
    @Column(name = "codsitubloq1")
    private Integer codsitubloq1;
    @Column(name = "codsitubloq2")
    private Integer codsitubloq2;
    @Column(name = "codsitubloq3")
    private Integer codsitubloq3;
    @Column(name = "codsitubloq4")
    private Integer codsitubloq4;
    @Column(name = "codsitubloq5")
    private Integer codsitubloq5;   
    @Column(name = "dataval")
    @Temporal(TemporalType.DATE)
    private Date dataval;
    
    @JoinColumns({
        @JoinColumn(name = "codtab", referencedColumnName = "codtab"),
        @JoinColumn(name = "codproc", referencedColumnName = "codproc"),
        @JoinColumn(name = "seqproc", referencedColumnName = "seqproc")})
    @ManyToOne
    private Tabproc tabproc;
    @JoinColumn(name = "codguia", referencedColumnName = "codguia", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Cadguiasol cadguiasol;
*****************************************
@Embeddable
public class ItensguiasolPK implements Serializable {
    @Basic(optional = false)
    @NotNull
    @Column(name = "codguia")
    private int codguia;
    @Basic(optional = false)
    @Column(name = "id")
    private int id;
*********************************************

public class ItensguiasolDataModel extends ListDataModel<Itensguiasol> implements SelectableDataModel<Itensguiasol>{

    public ItensguiasolDataModel() {  
    }  
  
    public ItensguiasolDataModel(List<Itensguiasol> data) {  
        super(data);  
    }  
      
    @Override  
    public Itensguiasol getRowData(String rowKey) {  
        //In a real app, a more efficient way like a query by rowKey should be implemented to deal with huge data  
          
        List<Itensguiasol> cars = (List<Itensguiasol>) getWrappedData();  
          
        for(Itensguiasol car : cars) {  
            if(car.getObsaud().equals(rowKey)) {
                return car;
            }  
        }  
        return null;  
    }  
  
    @Override  
    public Object getRowKey(Itensguiasol car) {  
        return car.getObsaud();  
    } 
    
}
**************************************************************
Bean 
                listaitens=itemguia;
                
                mediumCarsModel = new ItensguiasolDataModel(itemguia);  
****************************************************************
View 
 <p:dataTable id="multiCars" var="car" value="#{cadguiaMbeanexec.mediumCarsModel}" paginator="true" rows="10"  
                 selection="#{cadguiaMbeanexec.selectedCars}">  
  
                <f:facet name="header">  
                    Checkbox Based Selection  
                </f:facet>  

                <p:column selectionMode="multiple" style="width:2%" />  

                <p:column headerText="Model" style="width:25%">  
                    #{car.itensguiasolPK.codguia}  
                </p:column>  

                <p:column headerText="Year" style="width:25%">  
                    #{car.tabproc.descricao}  
                </p:column>  
        
        </p:dataTable>


Parei o servidor, e deu o seguinte erro :

java.io.NotSerializableException: br.uniplan.componentes.ItensguiasolDataModel
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at java.util.HashMap.writeObject(HashMap.java:1001)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:940)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)