Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Объясните @Embeddable / 5 сообщений из 5, страница 1 из 1
23.07.2014, 09:33
    #38703535
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните @Embeddable
Объясните пожалуйста на пальцах два момента:
1.
Код: java
1.
2.
@Embeddable
public class MyClass {


что означает аннотация @Embeddable, что она дает, а так же что означает следующее:
Код: java
1.
2.
3.
4.
5.
6.
 @Embedded
    @AttributeOverrides({
            @AttributeOverride(name = "address", column = @Column(name = "from_address")),
            @AttributeOverride(name = "latitude", column = @Column(name = "from_lat")),
            @AttributeOverride(name = "longitude", column = @Column(name = "from_long"))
    })


2. Что означает когда над полем стоит следующая конструкция:
Код: java
1.
2.
@Columns(columns = {@Column(name = "money_currency"), @Column(name = "money_amount")})
private Money money;


Спасибо
...
Рейтинг: 0 / 0
23.07.2014, 09:47
    #38703546
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните @Embeddable
1.
http://en.wikibooks.org/wiki/Java_Persistence/Embeddables
Embeddable это "вложеная" сущность. Т.е. отдельная от внешней, но замапленая, обычно, на ту же таблицу.
Чаще всего используется для композитных ключей.
AttributeOverrides используется для маппинга Embedded, либо для override маппинга при наследовании. Он как бы указывает на то, что это колонки таблицы замапленой на внешний класс.

2. Первый раз такое вижу. Это откуда? Судя по всему маппинг для кастомного типа.
...
Рейтинг: 0 / 0
23.07.2014, 10:12
    #38703574
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните @Embeddable
BlazkowiczAttributeOverrides используется для маппинга Embedded, либо для override маппинга при наследовании. Он как бы указывает на то, что это колонки таблицы замапленой на внешний класс.

Спасибо за отклик.
@AttributeOverride(name = "longitude", column = @Column(name = "from_long"))
Это значит, что во время заполнения from_long (поля внешней таблицы, автоматически будут заполняться поля вложенной таблицы, т.е. поле longitude)? Правильно? Вообще где и в каких случаях обычно это используют?
...
Рейтинг: 0 / 0
23.07.2014, 10:18
    #38703587
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните @Embeddable
Вы путаете таблицы и сущности. Не нужно.
Я ведь, написал выше. Чаще всего используется для композитных ключей (это когда ключь в таблице состоит из нескольких колонок.)
Иногда используется для сложных типов, вроде Money, Address.
...
Рейтинг: 0 / 0
23.07.2014, 12:39
    #38703777
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните @Embeddable
BlazkowiczВы путаете таблицы и сущности. Не нужно.
Я ведь, написал выше. Чаще всего используется для композитных ключей (это когда ключь в таблице состоит из нескольких колонок.)
Иногда используется для сложных типов, вроде Money, Address.
Благодарю
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Объясните @Embeddable / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]