खोज…


पैरामीटर

टिप्पणी उद्देश्य
@TableGenerator जनरेटर का नाम और तालिका नाम निर्दिष्ट करता है जहां जनरेटर पाया जा सकता है
@GeneratedValue पीढ़ी की रणनीति को निर्दिष्ट करता है और जनरेटर के नाम को संदर्भित करता है
@ManyToOne कर्मचारी और विभाग के बीच कई संबंधों को निर्दिष्ट करता है
@OneToMany (mappedBy = "विभाग") कर्मचारी और विभाग के बीच द्वि-दिशात्मक संबंध बनाता है केवल कर्मचारी इकाई में @ManyToOne एनोटेशन का संदर्भ देकर

एक से कई रिश्ते

एक से कई मानचित्रण आम तौर पर कई से एक मानचित्रण का एक द्विदिश संबंध है। हम एक ही उदाहरण लेंगे जो हमने कई से एक मैपिंग के लिए लिया था।

Employee.java

@Entity
public class Employee {

    @TableGenerator(name = "employee_gen", table = "id_gen", pkColumnName = "gen_name", valueColumnName = "gen_val", allocationSize = 100)
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "employee_gen")
    private int idemployee;
    private String firstname;
    private String lastname;
    private String email;

    @ManyToOne
    @JoinColumn(name = "iddepartment")
    private Department department;

    // getters and setters    
}

Department.java

@Entity
public class Department {

    @TableGenerator(table = "id_gen", pkColumnName = "gen_name", valueColumnName = "gen_val", name = "department_gen", allocationSize = 1)
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "department_gen")
    private int iddepartment;
    private String name;

    @OneToMany(mappedBy = "department")
    private List<Employee> employees;

    // getters and setters    
}

यह संबंध डेटाबेस में नीचे के रूप में दर्शाया गया है। यहाँ छवि विवरण दर्ज करें

Jpa एक के बारे में कई मानचित्रण याद करने के लिए दो बिंदु हैं:

  • एक से कई रिश्ते का मालिक पक्ष होता है। उस तरफ स्तंभ परिभाषित किया गया है।
  • कई मैपिंग में से एक प्रतिलोम पक्ष है इसलिए प्रतिचित्रित तत्व को प्रतिलोम पक्ष पर उपयोग किया जाना चाहिए।

पूरा उदाहरण यहां संदर्भित किया जा सकता है



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow