ciao!
allora, ho una tabella Timesheet:
codice:
package com.cies.api.models;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.sql.Timestamp;
import java.util.List;
@Getter
@Setter
@Entity
@Table(name = "Timesheet")
public class Timesheet {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "idTimeSheet")
private Integer idTimeSheet;
@Column(name = "codProgetto")
private Integer codProgetto;
@Column(name = "codCoordinatore")
private Integer codCoordinatore;
@Column(name = "codAnagrafica")
private Integer codAnagrafica;
@JsonIgnore
@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "idAnagrafica")
private Anagrafica anagrafica;
}
un Timesheet può avere un'Anagrafica.
un'Anagrafica può avere N Timesheet.
codice:
package com.cies.api.models;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@Entity
@Table(name = "Anagrafica")
public class Anagrafica {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "idAnagrafica")
private int idAnagrafica;
@Column(name = "Nome")
private String nome;
@Column(name = "Cognome")
private String cognome;
@Column(name = "CodiceFiscale")
private String cdiceFiscale;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "anagrafica")
private List<Timesheet> timesheetList;
}
già qua non so se ho fatto correttamente.
cmq io interrogo direttamente la tabella Timesheet, e devo ottenere i dati di Anagrafica.
ovviamente ottengo errore:
codice:
com.microsoft.sqlserver.jdbc.SQLServerException: Il nome di colonna 'idAnagrafica' non è valido.
un aiuto??