ComboBox

Hola soy nuevo en vaadin y tambien en java.

He creado una entidad incidencias

[code]
@Entity
@Table( name = “inc_incidencies”)
public class Incidencias implements ObjetoDBInterface {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)

@Size(max=21)
@NotNull
private String idIncid;

@Size(max=12)
@NotNull
//@JoinColumn(name="CIP", insertable=true, updatable=false)
private String usuari;

//@Size(max=6)
@NotNull
@ManyToOne
//private String codiIncTipus;
@JoinColumn(name="codiIncTipus", insertable=true, updatable=false)
private Tipo idIncTipus;

[/code]y estoy creando un formulario que carga un combobox

public class IncidenciasFormulario  extends FormLayout {
    private Incidencias cl_Inci=new Incidencias();    
    private FieldGroupBV form = new FieldGroupBV();
    //private final ComboBox emisor;
    private final ComboBox tipus;
    SQLContainer usuarios;
    private ComboBox user;
    private ComboBox emisor;
    Select stationBox;
    private String tipo="B";
    String sql = "SELECT p.CIP,CONCAT(p.cognom1,' ',p.cognom2,', ',nom) as nomAmic"
            + " FROM Personal p INNER JOIN pers_dades pd on p.CIP=pd.CIP WHERE esBaixa=0 and cases like ';CIN;' "
            + "order by nomAmic";
    SimpleJDBCConnectionPool connectionPool;

    private edu.salesianos.utilidades.Item tipoIncidencias = new edu.salesianos.utilidades.Item("B","Incidencias");


    public IncidenciasFormulario() {
        form.setItemDataSource(new BeanItem<Incidencias>(cl_Inci),Incidencias.class);
        
        GridLayout mygrid = new GridLayout(3, 6);
    

        user=new ComboBox("USER");
        mygrid.addComponent(user, 0, 2);
         try {
            connectionPool = new SimpleJDBCConnectionPool(conexion);
        } catch (SQLException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
         
         try {
            usuarios = new SQLContainer(new FreeformQuery(sql , connectionPool));
        } catch (SQLException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
         
         user.setContainerDataSource(usuarios);
         user.setItemCaptionMode(Select.ITEM_CAPTION_MODE_PROPERTY);
         user.setItemCaptionPropertyId("nomAmic");
         
         user.addListener(new Property.ValueChangeListener() {
            
            public void valueChange(ValueChangeEvent event) {
                // TODO Auto-generated method stub
                 Item item = user.getItem(user.getValue());
                 Object selectedITEM = item.getItemProperty("CIP").getValue();
                 System.out.println("Selected Item: " + item + "-------------" + selectedITEM);
            }
        });
                  
         user.setImmediate(true);
        form.bind(user,"usuari");

El problema es que quiero guardar lo que me llega como “selectedITEM” osea el CIP en el campo “usuari” de la entidad.

De aquí me surgen algunas dudas.

1.- En el caso de que creara otra entidad ej:“Personal” y a su vez la entidad "pers_dades " como prodría cargar lo que esta en el CONCAT del SQL en el combobox y como podíra hacer el INNER o la restricción.

2.-En el caso de que lo dejara como está,¿como podría enviar el “selectedITEM” osea el CIP en vez de el ID por defecto que esta creando el combobox al campo “usuari” de la entidad?

3.-¿Cúal seria el metodo mas correcto?(en caso de haber otro cúal sería)

Muchas gracias

Hola,

No logro entender bien tus preguntas, pero te recomendaría que estudiaras el
modelo de datos de Vaadin
.

Saludos.

Sera que lo que quieres hacer es obtener el id del combobox seleccionado para insertarlo en tu bdd?.

Atento a tus comentarios, esperando una acogida favorable.

Saluda Atte