के साथ जेपीए कॉलम मैं डेटाबेस एक्सेस के लिए जेपीए का उपयोग करता हूं और सही नाम के साथ हर कॉलम को एनोटेट करता हूं। अब अगर मैं एक प्रश्न पर अमल (जैसे findAll()) यह रिटर्नगलत अंडरस्कोर
Unknown column 'program0_.program_id' in 'field list'
त्रुटि संदेश सही program_id
अज्ञात है क्योंकि असली नाम programId
है।
मॉडल: कार्यक्रम
@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;
}
लेबल
@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;
}
क्वेरी
select program0_.program_id as program_1_5_, ...
वहाँ एक कारण है कि जेपी है "ProgramIid" में "programIid" में परिवर्तन या क्या मुझे कोई कॉन्फ़िगरेशन याद आ रहा है?
धन्यवाद
संपादित करें: ओह खेद क्वेरी कोड/जानकारी जोड़ने के लिए भूल गया था।
मैं स्प्रिंग डेटा के जेपीए रिपोजिटरी इंटरफ़ेस का उपयोग करता हूं और findAll() क्वेरी का प्रयास करता हूं।
@Repository
public interface ProgramRepository extends JpaRepository<Program, Long> {}
आप क्वेरी करने के लिए अपने जावा कोड को शामिल कर सकते हैं? – Ascalonian
ने मेरी पोस्ट अपडेट की। मैंने अपना कोड नहीं लिखा, मैं वसंत डेटा से JpaRepository <> का उपयोग करता हूं। – KenavR
यह जांचें http://stackoverflow.com/questions/2536829/hibernate-show-real-sql –