2015-12-13 8 views
1

Быстрых гибернации вопроса - Как я могу использовать Hibernate аннотацию определить этот класс как единое целое -спящий режим для дочернего объекта

public class NativeType { 
    private long id;  
    private String name; 
    private int maxPrecision; 
    private byte maxScale; 
    private DataStoreProvider provider; 

связан как карты коллекция в классе AbstractDataStoreProvider -

public abstract class AbstractDataStoreProvider implements DataStoreProvider, 
    Serializable{ 

    private Map<String, NativeType> uniqueNativeTypes; 
    .. 

public interface DataStoreProvider { 

так Я могу хранить это в таблицах DB так:

**datastore_provider** 
provider_id | provider_name 

**native_type** 
native_type_id | name | max_precision | max_scale | provider_id 

Я думаю, что это его, но я не могу naviga те спецификации Hibernate очень легко. Новое для Java и более новое для JPA + Hibernate. Цените руководство!

ответ

1

Пример кода

Я думаю, вы можете использовать следующий -

@Entity 
@Table(name = "native_type") 
public class NativeType { 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    @Column(name = "native_type_id") 
    private Long id; 

    private String name; 

    @Column(name = "max_precision") 
    private int maxPrecision; 

    @Column(name = "max_scale") 
    private byte maxScale; 

    @ManyToOne 
    @JoinColumn(name="provider_id") 
    private DataStoreProvider provider; 

    // rest of the class (getter setter etc.) 
} 

ID Generation

Я предполагаю, вы автоматически генерируя ваши идентификаторы баз данных, поэтому я отметил он с аннотацией @GeneratedValue. Что касается strategy, я указал AUTO, который подходит только для локальных экспериментов. Для производственного класса вам нужно будет выбрать между SEQUENCE, IDENTITY и TABLE.

связь Mapping

Я предположил, что вы собираетесь создать DataStoreProvider объект тоже. В этом случае вы можете указать связь между ними, как описано выше.

Ссылка

Для дальнейшей ссылки, вы можете проконсультироваться this excellent book.

+0

Awesome! Спасибо @MD Сайем Ахмед, я дам вам шанс и поделиться! –

+0

Имеет ли ссылка Pro JPA2, с которой вы поделились, с Hibernate? –

+0

@BiAct: В нем обсуждается JPA, и вы можете легко использовать Hibernate в качестве реализации. Поскольку вы отметили этот вопрос на 'jpa', я предположил, что это то, что вы используете. Чтобы правильно настроить JPA с hibernate, вы можете проверить некоторые из [моих сообщений в блоге] (http://codesod.com/category/java/jpa/). Одна вещь - они только показывают, как настроить его для среды Java SE, но вы можете легко их расширить и для веб-контекста. –

Смежные вопросы