Uso JPA per l'accesso al database e annotato ogni colonna con il nome corretto. Ora, se io eseguo una query (per esempio findAll()) restituisceColonna JPA con underscore errato
Unknown column 'program0_.program_id' in 'field list'
Il messaggio di errore è corretto program_id
è sconosciuto, perché il vero nome è programId
.
Modelli: Programma
@Entity
@Table(name = "programs")
@XmlRootElement
public class Program implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "programId")
private Long programId;
@ManyToMany
@JoinTable(
name = "programlabels",
joinColumns = {
@JoinColumn(name = "program", referencedColumnName = "programId")},
inverseJoinColumns = {
@JoinColumn(name = "label", referencedColumnName = "labelId")})
private Collection<Label> labels;
}
Label
@Entity
@Table(name = "labels")
@XmlRootElement
public class Label implements Serializable {
@Id
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 100)
@Column(name = "labelId")
private String labelId;
}
query
select program0_.program_id as program_1_5_, ...
C'è un motivo per cui JP Una modifica "programId" a "program_id" o mi manca qualche configurazione?
grazie
Edit: Oh scusa dimenticato di aggiungere codice di query/informazioni.
Utilizzo l'interfaccia JpaRepository di Spring Data e ho provato la query findAll().
@Repository
public interface ProgramRepository extends JpaRepository<Program, Long> {}
Puoi includere il codice Java per fare la domanda? – Ascalonian
ha aggiornato il mio post. Non ho scritto il mio codice, utilizzo JpaRepository <> da Spring Data. – KenavR
Controlla questo http://stackoverflow.com/questions/2536829/hibernate-show-real-sql –