Аннотации OneToMany и ManToOne - PullRequest
0 голосов
/ 16 марта 2012

В сопоставлении ManyToOne какой столбец будет действовать как внешний ключ: какой столбец из таблицы адресов используется в качестве внешнего ключа в таблице Student

public class Student {
    private String studentName;
    private Address studentAddress;

public Student(String studentName, Address studentAddress) {
        this.studentName = studentName;
        this.studentAddress = studentAddress;
    }
@ManyToOne(cascade = CascadeType.ALL)
    public Address getStudentAddress() {
        return this.studentAddress;
    }

и класс адреса:

 public class Address {

    private long addressId;
        private String street;

            @Id
        @GeneratedValue
        @Column(name = "ADDRESS_ID")
        public long getAddressId() {
            return this.addressId;
        }
    @Column(name = "ADDRESS_STREET", nullable = false, length = 250)
        public String getStreet() {
            return this.street;
        }
    }

как и во ManyToOne, это делают @JoinColumn и @ JoinColumn

@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "STUDENT_PHONE", joinColumns = { @JoinColumn(name = "STUDENT_ID") }, inverseJoinColumns = { @JoinColumn(name = "PHONE_ID") })
public Set<Phone> getStudentPhoneNumbers() {
return this.studentPhoneNumbers;
}

Я что-то упускаю, или это правильно, и я не понимаю правильности

1 Ответ

0 голосов
/ 16 марта 2012

Работает без указания JoinColumn или JoinTable, поскольку спецификация JPA определяет сопоставления по умолчанию в случае отсутствия этих аннотаций:

2.10.3.2 Однонаправленные отношения ManyToOne

Применяются следующие настройки отображения по умолчанию:

Объект A сопоставлен с таблицей с именем A.

Объект B сопоставлен с таблицей с именем B.

Таблица A содержит внешний ключ к таблице B. Имя столбца внешнего ключа формируется как объединение следующего: название свойство отношения или поле объекта A; "_"; имя столбец первичного ключа в таблице B.

Столбец внешнего ключа имеет тот же тип, что и первичный ключ таблицы. B.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...