पर सिंटैक्स त्रुटि मैं हाइबरनेट का उपयोग कर रहा हूं और "उपयोगकर्ता" नामक एक सतत कक्षा है। चूंकि यह एक कीवर्ड है, मैं एक अलग नाम के साथ @Entity विशेषता चिह्नित (मैंने देखा है, उदाहरण के लिए, इस सवाल: Unable to use table named "user" in postgresql hibernate)त्रुटि: "उपयोगकर्ता"
हालांकि, मैं अभी भी मुसीबत में पड़ क्योंकि इस वर्ग के एक और फैली हुई है, और यह लग रहा है जैसे हाइबरनेट अभी भी एक स्तंभ नाम के रूप में "उपयोगकर्ता" का उपयोग करने की कोशिश कर रहा है और में गड़बड़ हो रही है:
@Entity(name = "XonamiUser")
public class User extends PropertyContainer {
...
और
@MappedSuperclass
public abstract class PropertyContainer implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
protected long key;
/** tags */
@ElementCollection
protected Set<String> tags;
@ElementCollection
protected Set<String> searchList;
...
मेरे अन्य वर्गों कि PropertyContainer विस्तार ठीक से काम करने लगते हैं।
क्या यह हाइबरनेट में एक बग है? क्या रिफैक्टरिंग के इस छोटे से पास कुछ रास्ता है? धन्यवाद!
यहाँ त्रुटियों मैं दिखाई दे रही है (थोड़ा साफ) कर रहे हैं:
WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 42601
ERROR org.hibernate.util.JDBCExceptionReporter - Batch entry 0 insert into user_search_list (user, search_list) values ('1', 'bjorn') was aborted. Call getNextException to see the cause.
WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 42601
ERROR org.hibernate.util.JDBCExceptionReporter - ERROR: syntax error at or near "user"
Position: 31
@TJ, मैंने त्रुटियों को जोड़ा जो मुझे विश्वास दिलाता है कि यह अभी भी कॉलम नाम का उपयोग कर रहा है। –