hibernate एनोटेशन का उपयोग करके हाइबरनेट समग्र कुंजी कैसे बनाएं



hibernate-mapping hibernate-annotations (1)

मैं एक MySQL database तालिका में डेटा डालने के लिए hibernate annotations का उपयोग करने की कोशिश कर रहा हूं जिसमें प्राथमिक कुंजी परिभाषित नहीं है।

हालांकि तथ्य यह है कि उस तालिका के 2 फ़ील्ड टेबल में अद्वितीय हैं। मैं हाइबरनेट एनोटेशन का उपयोग करके इसे कैसे प्राप्त कर सकता हूं?

यहाँ मेरा कोड है ..

 @Entity
 @Table(name = "RolesMenuItems")
    public class RolesMenuItems {

       @Column(name = "RoleID")
       private String roleID;

       @Column(name = "MenuItemID")
       private String menuItemID;
  /*setter getter methods */
 }

आप एक समग्र कुंजी बनाने के लिए @Embeddeble और @EmbeddedId का उपयोग कर सकते हैं और इसे अपनी इकाई के साथ मैप कर सकते हैं। उदाहरण के लिए:

@Embeddable
public class RolesMenu {
    @Column(name = "RoleID")
    private String roleID;

    @Column(name = "MenuItemID")
    private String menuItemID;

    //getter, setter methods
}

 @Entity
 @Table(name = "RolesMenuItems")
 public class RolesMenuItems {

     @EmbeddedId
     private RolesMenu roleMenu;

  /*setter getter methods */
 }

फिर सामान्य रूप से इकाइयों को RolesMenuItems रखने के लिए अपने जावा कोड में RolesMenuItems का उपयोग करें।

संदर्भ: http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#d0e535

संपादित करें: इकाई को बनाए रखने के लिए:

RolesMenu roleMenu = new RolesMenu();
roleMenu.setRoleID(...);
roleMenu.setMenuItemID(...);

RolesMenuItems roleItem = new RolesMenuItems();
roleItem.setRoleMenu( roleMenu );

em.persist(roleItem);




nhibernate-queryover