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

हाइबरनेट (JPA) का उपयोग करके Postgresql को क्वेरी करने से तालिका नहीं मिलती है

पोस्टग्रेज (नए पर निश्चित नहीं है) टेबल नामों को लोअर केस में बदलें। यह पसंदीदा संचालन प्रक्रिया है। यदि आप अपने प्रश्नों को लॉग करते हैं तो आप देखेंगे कि हाइबरनेट आपके टेबल नाम को उद्धृत कर सकता है या नहीं भी हो सकता है (मुझे लगता है कि यह नहीं है)।

उपयोगकर्ता मॉडल को Postgres में सहेजना हाइबरनेट करें

ईमानदारी से, यदि आप पोस्टग्रेज पर चल रहे हैं तो आपको वास्तव में या तो हाइबरनेट को ठीक से कॉन्फ़िगर करना चाहिए, या, जैसा कि मैं इसे देखूंगा, अपने डेटाबेस को सामान्य करें क्योंकि तालिकाओं में नामस्थान टकराव नहीं होना चाहिए (इस प्रकार समस्या को दूर करना)।

// लेख से...

@Entity
@Table(name="\"User\"")
public class User {
    ...
}

संपादित 07/31/12:

यह परिवर्तन तालिकाओं के क्षेत्रों में निम्नलिखित तरीके से किया जाना चाहिए:

@Column के लिए , एस्केप्ड जोड़ने वाले कॉलम का नाम बदलें ":

@Column(name = "\"C_MODEL\"") 

@JoinColumn . के लिए , `:

. जोड़कर कॉलम का नाम बदलें
@JoinColumn(name = "`TP_MODEL`")

आपको इसे मैन्युअल रूप से उन कॉलमों पर करना होगा जो आपको त्रुटियाँ देते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL के साथ सरणी आंतरिक अनुक्रमणिका का उपयोग कैसे करें?

  2. चाइल्ड टेबल इंसर्शन के लिए ट्रिगर बनाना भ्रमित करने वाली त्रुटि देता है

  3. Persistence.createEntityManagerFactory() को वापस आने में बहुत समय लगता है

  4. पिछले महीने के मानों के साथ परिणाम में लापता महीना जोड़ें

  5. एक ही क्वेरी में अलग-अलग पैरा के साथ कई जॉइन कैसे निष्पादित करें?