Ciao,
ho bisogno di voi per avere qualche piccolo chiarimento circa come effettuare il mapping tra una classe Java ed una tabella di un DB MySql mediante Hibernate usando le JPA annotations per effettuare il mapping tra variabili di istanza della classe Java e le colonne della mia tabella.

Stò seguento questo tutorial: http://java.html.it/guide/lezione/45...g-e-hibernate/
Nel tutorial la chiave primaria della tabella Book è il solo campo ISBN della tabella.

La mia tabella è invece così strutturata: POI(nome, lat, lon, alt, tipologia, wikiLink) e la chiave primaria è composta da più di una colonna (per l'esattezza la chiave primaria è composta dalle colonne: nome, lat, lon, alt

Ora ho un paio di dubbi. Il primo dubbio riguarda proprio come dire ad Hibernate che la chiave primaria è formata da più colonne. Nell'esempio del tutorial mette il tag @Id per indicare che quella variabile è chiave primaria nella relativa tabella della colonna....solo che io ho che la chiave primaria è formata da più colonne...così ho pensato di mettere il tag @Id davanti a TUTTE le variabili che mappano una colonna della chiave primaria della tabella POI

Così in pratica:

codice:
package controller;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.Entity;


@Entity
@Table(name = "poi")

public class POI {

    @Id
    @Column(name = "nome")
    private String nome;

    @Id
    @Column(name = "lat")
    private float lat;

    @Id
    @Column(name = "lon")
    private float lon;

    @Id
    @Column(name = "alt")
    private float alt;

    @Column(name = "tipologia")
    private int tipologia;

    @Column(name = "wikiLink")
    private String wikiLink;

    public float getAlt() {
        return alt;
    }

    public void setAlt(float alt) {
        this.alt = alt;
    }

    public float getLat() {
        return lat;
    }

    public void setLat(float lat) {
        this.lat = lat;
    }

    public float getLon() {
        return lon;
    }

    public void setLon(float lon) {
        this.lon = lon;
    }

    public String getNome() {
        return nome;
    }

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

    public int getTipologia() {
        return tipologia;
    }

    public void setTipologia(int tipologia) {
        this.tipologia = tipologia;
    }

    public String getWikiLink() {
        return wikiLink;
    }

    public void setWikiLink(String wikiLink) {
        this.wikiLink = wikiLink;
    }

}
Va bene?

Il decondo dubbio invece riguarda gli import usati per poter usare questi tag di Hibernate per effettuare il mapping.

NetBeans mi dà varie possibilità di importare varie classi...con alcune mi dà errore...con altre no...nello specifico con queste importate non segnala errori...ma....vanno bene? sono proprio queste le cose da importare?

codice:
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.Entity;
Grazie
Andrea