Всем доброго времени. Есть рабочий.
@Entity
@Table(name = "emoloyee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "vacation_id", nullable = false)
private EmpVacation vacation;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn (name = "function_id", nullable = false)
private CompanyRole function;
У него есть должность в компании и данные по отпуску. Отпуск:
@Entity
@Table(name = "vacations")
public class EmployeeVacation {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Temporal(TemporalType.DATE)
private Date start;
@Temporal(TemporalType.DATE)
private Date end;
@OneToOne(mappedBy = "vacation")
private Employee emp;
данные по должности:
@Entity
@Table(name = "company_roles")
public class CompanyRole {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "function")
private Set<Employee> empSet;
@Column(unique = true, nullable = false)
private String name;
В company_roles хранится справочник по должностям, заранее заполненный. Доступ к объектам через extends JpaRepository. При попытке добавить рабочего на позицию из БД полученную методом findByName или findOne, JPA пытается еще раз записать в таблицу company_roles и вылетает ошибка дубликата названия должности в company_roles. добавляю так: создаю объект рабочего, добавляю ему новый объект отпуска, и беру из базы объект должности. Если сделать это все в 1 транзакции через @Transactional, то работает нормально, но как же ситуация, когда я создал объект где - то и передал его в сервис для сохранения, при создании используя сервис должностей для получения существующей должности? Каждый раз в сервисе рабочих разбирать полученный объект и проверять валидность полей по связным таблицам? спасибо за помощь :)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как сделать чтобы последняя строка в DataGrid не сортировался вместе с остальными? На пример все строки сортируются по возрастанию, а последняя...
Возникло затруднение с включением ссылок на сборки определенные в стандартной библиотеке в приложении UWPВ консольном приложении я мог просто...