में एक गैर-इकाई सबक्लास से किसी इकाई को कैसे बनाए रखना है, मैं एक इकाई को एक गैर-इकाई में विस्तारित करने का प्रयास कर रहा हूं जिसका उपयोग सुपरक्लास के फ़ील्ड को भरने के लिए किया जाता है। समस्या यह है कि जब मैं इसे बचाने की कोशिश करता हूं तो हाइबरनेट एक मैपिंग अपवाद फेंकता है। ऐसा इसलिए है क्योंकि भले ही मैंने रिपोर्टपार्सर को रिपोर्ट करने के लिए डाला, फिर भी रनटाइम इंस्टेंस अभी भी एक रिपोर्टपार्सर है, इसलिए हाइबरनेट शिकायत करता है कि यह एक अज्ञात इकाई है।हाइबरनेट
@Entity
@Table(name = "TB_Reports")
public class Report
{
Long id;
String name;
String value;
@Id
@GeneratedValue
@Column(name = "cReportID")
public Long getId()
{
return this.id;
}
public void setId(Long id)
{
this.id = id;
}
@Column(name = "cCompanyName")
public String getname()
{
return this.name;
}
public void setName(String name)
{
this.name = name;
}
@Column(name = "cCompanyValue")
public String getValue()
{
return this.name;
}
public void setValue(String value)
{
this.value = value;
}
}
रिपोर्टपार्सर केवल फ़ील्ड भरने के लिए उपयोग किया जाता है। एक रिपोर्ट करने के लिए इसे डाल सकते हैं और इसे सहेजने के लिए
public class ReportParser extends report
{
public void setName(String htmlstring)
{
...
}
public void setValue(String htmlstring)
{
...
}
}
प्रयास
...
ReportParser rp = new ReportParser();
rp.setName(unparsed_string);
rp.setValue(unparsed_string);
Report r = (Report)rp;
this.dao.saveReport(r);
इससे पहले कि मैं एक ORM में ले जाया गया मैं इस पद्धति का उपयोग किया है, लेकिन मैं कैसे हाइबरनेट के साथ ऐसा करने को समझ नहीं सकता । क्या यह संभव है?
यह इकाई को उपclassing से बेहतर दृष्टिकोण की तरह लगता है। धन्यवाद! – vopilif