Если вы используете React, создайте компонент для обработки данных и создайте свой список, и вот как я бы запрашивал данные у Firebase:
let titresDB = firebase.database().ref('titres')
titresDB.once('value', (snapshot) => {
let data = []
snapshot.forEach((childSnapshot) => {
data.push({
_key: childSnapshot.key,
...childSnapshot.val()
})
})
// then do something with the data
// in React you could setState
this.setState({ data })
})
Компонент списка:
<ul>
{this.state.data.map((book) => {
return (
<li key={book._key}>
<h3>{book.title}</h3>
<p>{book.rating}</p>
<p>{book.description}</p>
</li>
)
})}
</ul>
I don't think there is an universal way of doing this with JPA, you have to directly use the underlying JPA implementation to achieve this.
For Hibernate, there are several possibilities:
hbm2ddl
automatically.For EclipseLink (formerly Oracle TopLink, the JPA 2.0 RI) see Using EclipseLink JPA Extensions for Schema Generation. In principle it is very similar to Hibernate, although at first glance I don't see anything that could be used as a stand-alone utility for creating a DB script.
Other JPA implementations (BEA/Oracle Kodo, Apache OpenJPA) probably have their own specific methods of achieving this.
Когда я использую Hibernate, я просто добавляю это в свой конфигурационный файл:
<property name="hbm2ddl.auto">update</property>
Заботится обо всем. Я не уверен, что эквивалентен JPA, но Hibernate настолько сильно на него влияет, что я был бы удивлен, если бы вы не смогли найти что-то подобное.
Инструмент не нужен. Я обычно просто запускаю простой тест JUnit, и база данных создается для меня.
DataNucleus has its own SchemaTool capable of generating the schema for you, or generating the required DDL statements for you to adapt and apply yourself.
--Andy (DataNucleus)
Попробуйте добавить следующее в свой persistence.xml
Для Hibernate:
Для создания:
<property name="hibernate.hbm2ddl.auto" value="update"/>
Для удаления и создания:
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
Для Toplink:
Для создания :
<property name="toplink.ddl-generation" value="create-tables"/>
Для отбрасывания и создания:
<property name="toplink.ddl-generation" value="drop-and-create-tables"/>
Для EclipseLink:
Для создания:
<property name="eclipselink.ddl-generation" value="create-tables"/>
Для отбрасывания и создания:
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>