У меня есть две таблицы: customers
и phoneNumbers
У одного customer
может быть 1+ phoneNumbers
.
Нужно ли мне добавлять OneToMany
анатацию, чтобы показывать, что у customer
есть несколько номеров? Если да, то как?
Немного уточню: нужно ли добавлять OneToMany
, чтобы customer_id
передавался от customer
в phoneNumber
?
Диаграма сущности:
+-------------------------------+
| customer |
+-------------+-------+---------+
| customer_id | name | surname |
+-------------+-------+---------+
| 1 | Alice | Rox |
| 2 | Bob | Ford |
| 3 | ... | ... |
+-------------+-------+---------+
+-----------------------+
| phoneNumbers |
+-------------+---------+
| customer_id | number |
+-------------+---------+
| 1 | +4456.. |
| 1 | +4474.. |
| 2 | +1871.. |
+-------------+---------+
Customer.java
@Data
@Entity
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "customers")
public class Customers {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "customer_id")
private long id;
private String name;
private String surname;
}
PhoneNumbers.java
@Data
@Entity
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "phoneNumbers")
public class PhoneNumbers {
@Id
@Column(name = "phone_id")
private long id;
private String number;
}
Update 1
PhoneNumber.java
@Data
@Entity
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "phoneNumbers")
public class PhoneNumbers {
@Id
private int id;
@ManyToOne
@JoinColumn(name="customer_id", nullable=false)
private Customers customers;
private String number;
}
Customer.java
@Entity
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "customers")
public class Customers {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "customer_id")
private long id;
private String name;
private String surname;
@OneToMany(mappedBy="customers")
private Set<PhoneNumbers> phone_id;
}
Теперь следует правильно применить @PrimaryKeyJoinColumn
Update. Данная вещь только для One-to-One возможна
Теперь в таблице phoneNumber
нужно убрать id
и заменить его customer_id
. Если я убераю строки в java связанные с ID, то мне выкидывает ошибку hibernate
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь настроить роутинг в Gateway в properties прописываю адрес и куда перенаправлять, не могу понять логику работы
Столкнулся с задачей: вывести на экран плавающий виджет, чтобы его можно было перемещать, взаимодействовать с нимВиджет НЕ для рабочего стола,...
Почему-то не нашел нормальной информации в интернете и погуглил по темам на стаковерфлоу, но так и не нашел в чем отличие for и for each в Java? Понятно...
Как сделать JProgressBar чтобы он работал на кнопку Jbutton и заканчивал работу после того как прогресс дошел до 100%?