Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक से अनेक संबंध बनाए रखने पर बाधा उल्लंघन

इसे बदलें:

@OneToMany(mappedBy = "providertype")
private Set<HL7DocumentEntity> documententities;

इसके लिए:

@OneToMany(fetch = FetchType.LAZY)
@JoinTable(name = "Link_Documents", joinColumns = {@JoinColumn(name = "codePk", unique = true)}, inverseJoinColumns = {@JoinColumn(name = "change_this_with_primary_key_variable_name_from_HL7DocumentEntity")})
 private Set<HL7DocumentEntity> documententities;

और HL7DocumentEntity में इस प्रकार परिवर्तन होता है:

यह

@ManyToOne
    @JoinColumns({ @JoinColumn(name = "ptcode", referencedColumnName = "code"),
        @JoinColumn(name = "ptcodesystem", referencedColumnName = "codesystem")
    })
    private HL7GeneralCode providertype;

इसमें बदलें:

@ManyToOne(fetch = FetchType.LAZY)
  @JoinTable(name = "Link_Documents", joinColumns = {@JoinColumn(name = "change_this_with_primary_key_variable_name_from_HL7DocumentEntity")}, inverseJoinColumns = {@JoinColumn(name = "codePk")})
  private HL7GeneralCode providertype;

मुझे लगता है कि आपको "id" के साथ "change_this_with_primary_key_variable_name_from_HL7DocumentEntity" को बदलना होगा जैसे कि यह BaseEntity में है, लेकिन अपनी sql तालिका पर एक नज़र डालें, आप वहां सही नाम देखेंगे।

मुझे आशा है कि आपने ध्यान दिया होगा कि मैंने जेपीए को 2 तालिकाओं को जोड़ने के लिए उसी "Link_Documents" तालिका का उपयोग करने के लिए कैसे कहा। मुझे लगता है कि यह आपकी गलती है। जहां मैंने आपको सही चर नाम के साथ कहा था, वहां बदलना सुनिश्चित करें और मुझे लगता है कि इसे काम करना चाहिए



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL CHECK बाधा विकल्प

  2. इकाई फ्रेमवर्क कोड पहले अधिकतम लम्बाई और निश्चित लम्बाई (चार बनाम वर्चर)

  3. जॉइन सिंटैक्स में MySQL सहसंबद्ध सबक्वेरी

  4. MySQL - डेटाबेस से त्रिज्या के भीतर अंक खोजें

  5. रूबी:mysql2-Gem काम नहीं कर रहा है (Mac OS X स्नो लेपर्ड, रूबी 1.9.2)