Я пытаюсь создать приложение адресной книги с одной таблицей для People, другой для компаний и третьей для телефонов. В таблице «Телефоны» будут указаны данные для людей и компаний с полем, указывающим, откуда оно взялось. Давайте предположим, что эти простые таблицы:Создание коллекции спящего режима на двух столбцах
CREATE TABLE `Person` {
`id` int(11) NOT NULL auto_increment,
`firstName` varchar(80) NOT NULL,
`lastName` varchar(80) NOT NULL
}
CREATE TABLE `Company` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(80) NOT NULL
}
CREATE TABLE `ContactPhone` (
`id` int(11) NOT NULL auto_increment,
`contactType` char(1) NOT NULL, -- either 'P' or 'C'
`contactId` int(11) NOT NULL, -- the id of the Person or Company
`number` varchar(40) NOT NULL
}
я создал свои соответствующие классы Java, которые очень простое представление:
public class Person {
private Integer id;
private String firstName;
private String lastName;
private Collection<Phone> phones;
// ...
}
public class Company {
private Integer id;
private String name;
private Collection<Phone> phones;
// ...
}
public class Phone {
private Integer id;
private String number;
// ...
}
В простой SQL я могу получить человека и соответствующие телефоны очень легко , Мне нужно создать сопоставление между Person and Phone и между компанией и телефоном, используя простой спящий режим (без аннотаций), но не может заставить его работать. Даже не уверен, что он должен быть однонаправленным или двунаправленным. Я искал документацию, но не нашел ничего, что могло бы помочь. Кто угодно?
Какова связь между Компанией и телефоном? – Cherian
Компания может иметь коллекцию телефонов в одностороннем порядке. Нет связи «назад» от телефонов к компаниям. – rmarimon