Поиск…


параметры

колонка колонка
@TableGenerator Использует стратегию генератора таблиц для автоматического создания идентификатора
@GeneratedValue Указывает, что значение, применяемое к полям, является сгенерированным значением
@Я бы Аннотирует поле как идентификатор
@ManyToOne Определяет отношения между многими сотрудниками и отделом. Эта аннотация отмечена со многих сторон. т.е. несколько сотрудников принадлежат к одному отделу. Таким образом, отдел аннотируется с @ManyToOne в сущности Employee.
@JoinColumn Задает столбец таблицы базы данных, в котором хранится внешний ключ для связанного объекта

Сотрудник отдела Многопользовательские отношения

Сотрудник

@Entity
public class Employee {

    @TableGenerator(name = "employee_gen", table = "id_gen", pkColumnName = "gen_name", valueColumnName = "gen_val", allocationSize = 1)
    @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
    // toString implementation
}

Департамент

@Entity
public class Department {

    @Id
    private int iddepartment;
    private String name;

    // getters, setters and toString()
}

Класс тестирования

public class Test {

    public static void main(String[] args) {

        EntityManagerFactory emf = Persistence
                .createEntityManagerFactory("JPAExamples");
        EntityManager em = emf.createEntityManager();
        EntityTransaction txn = em.getTransaction();

        Employee employee = new Employee();
        employee.setEmail("[email protected]");
        employee.setFirstname("Prasad");
        employee.setLastname("kharkar");

        txn.begin();
        Department department = em.find(Department.class, 1);//returns the department named vert
        System.out.println(department);
        txn.commit();

        employee.setDepartment(department);

        txn.begin();
        em.persist(employee);
        txn.commit();

    }

}


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow