सुबह।हाइबरनेट इकाई में कई स्तंभों द्वारा इंडेक्स को कैसे परिभाषित किया जाए?
मुझे हाइबरनेट इकाई में अनुक्रमण जोड़ने की आवश्यकता है। जैसा कि मुझे पता है कि अलग कॉलम के लिए इंडेक्स निर्दिष्ट करने के लिए @ इंडेक्स एनोटेशन का उपयोग करना संभव है लेकिन मुझे इकाई के कई क्षेत्रों के लिए एक अनुक्रमणिका की आवश्यकता है।
मैंने गुगल किया है और jboss एनोटेशन @Table पाया है, जो इसे (विनिर्देशन द्वारा) करने की अनुमति देता है। लेकिन (मुझे नहीं पता क्यों) यह कार्यक्षमता काम नहीं करती है। हो सकता है कि jboss संस्करण आवश्यक से कम हो, या हो सकता है कि मैं इस एनोटेशन का उपयोग कैसे करें, लेकिन जटिल सूचकांक नहीं बनाया गया है।
क्यों इंडेक्स नहीं बनाया जा सकता है?
jboss संस्करण 4.2.3.GA
इकाई उदाहरण:
package somepackage;
import org.hibernate.annotations.Index;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
@org.hibernate.annotations.Table(appliesTo = House.TABLE_NAME,
indexes = {
@Index(name = "IDX_XDN_DFN",
columnNames = {House.XDN, House.DFN}
)
}
)
public class House {
public final static String TABLE_NAME = "house";
public final static String XDN = "xdn";
public final static String DFN = "dfn";
@Id
@GeneratedValue
private long Id;
@Column(name = XDN)
private long xdn;
@Column(name = DFN)
private long dfn;
@Column
private String address;
public long getId() {
return Id;
}
public void setId(long id) {
this.Id = id;
}
public long getXdn() {
return xdn;
}
public void setXdn(long xdn) {
this.xdn = xdn;
}
public long getDfn() {
return dfn;
}
public void setDfn(long dfn) {
this.dfn = dfn;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
jboss/हाइबरनेट तालिका "घर" बनाने के लिए प्रयास करता है यह अपवाद निम्नलिखित थ्रो:
Reason: org.hibernate.AnnotationException: @org.hibernate.annotations.Table references an unknown table: house
btw, तुम रूप में स्वीकार किया (वोट नीचे टिक) जवाब चिह्नित करने के लिए, अगर वे आप सूट अपेक्षा की जाती है। – Bozho
@foobar - क्या आपने अपनी समस्या का समाधान किया? – Bozho
मैं एसक्यूएल स्क्रिप्ट का उपयोग कर मैन्युअल रूप से इंडेक्स बनाने का इरादा रखता हूं। आपका सुझाव सही है लेकिन मुझे लगता है कि यह एक हैक की तरह है जो उपयोगकर्ता हाइबरनेट अप्राच के रूप में उपयोग करते हैं। और यह विधि किसी अन्य दृढ़ता प्रदाता के लिए योग्य नहीं हो सकती है। समस्या हल हो गई है लेकिन भविष्य में मैं यह समझने के लिए थोड़ा और समय बिताना चाहता हूं कि इस कार्य को सर्वोत्तम तरीके से कैसे किया जाए। मैं यहां परिणाम के बारे में लिखूंगा ... बहुत बहुत धन्यवाद। –