2014-11-03 4 views
1

В спящем режиме что-то вроде первого подхода кода от Entity Framework? Я пытаюсь подготовить таблицы базы данных из классов Java (MySQL). Я уже подготовил java-классы с аннотациями JPA, но я не уверен, что делать теперь (я использую IntelliJ). Что мне нужно, чтобы создать таблицы thoose? Или я должен использовать некоторые инструменты?Создание таблиц базы данных из объектов

Один из моих классов выглядит следующим образом:

@Entity 
public class Item { 

    @Id 
    @GeneratedValue 
    private long id; 

    @Column 
    private String text; 

    @ManyToMany(mappedBy = "items") 
    private Set<Container> containers = new HashSet<Container>(); 

    public long getId() { 
     return id; 
    } 

    public String getText() { 
     return text; 
    } 
    public void setText(String text) { 
     this.text = text; 
    } 

    public Set<Container> getContainers() { return containers; } 
} 
+0

возможно дубликат [создать ли Hibernate таблицы в базе данных автоматически] (HTTP: //stackoverflow.com/questions/4507142/does-hibernate-create-tables-in-the-database-automatically) – Xstian

ответ

0

Для уточнения: я использовал JPA2, поэтому конфигурация была в persistence.xml. То, что сработало для меня была установка:

<property name="hibernate.hbm2ddl.auto">create</property> 

без "спящий режим". он не работал.

Кроме того, чтобы запустить его мне нужно подготовить основную функцию с созданием EntityManager, так как отображение в БД происходит, когда он будет создан:

public static void main(String [] args){ 
    EntityManagerFactory factory = Persistence.createEntityManagerFactory("NewPersistenceUnit"); //name of persistence unit here 
    EntityManager entityManager = factory.createEntityManager(); 
} 
2

Вы должны установить hibernate.hbm2ddl.auto свойство со значением create. Если это так, при первом запуске приложений будут созданы таблицы.

2

В файле конфигурации hibernate.cfg.xml вы можете установить свойство называется hbm2ddl.auto, который говорит в спящий режим, чтобы создать таблицу для вас:

<property name="hbm2ddl.auto">create</property> 

При запуске приложения в первый раз, то вы можете установить имущество до create, а затем вы можете изменить его на update.

Перейдите по этой ссылке для получения более подробной информации:

Hibernate hbm2ddl.auto possible values and what they do?