好吧...通常您不会在没有数据库模式的情况下使用 Hibernate。这取决于你想做什么。
但是,Hibernate supports dynamic models:
您通过 XML 定义实体:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class entity-name="Book">
<id name="isbn" column="isbn" length="32" type="string"/>
<property name="title" not-null="true" length="50" type="string"/>
<property name="author" not-null="true" length="50" type="string"/>
</class>
</hibernate-mapping>
启用对它的支持:
hibernate.default_entity_mode=true
现在你使用这个:
Map<String, String> book = new HashMap<>();
book.put( "isbn", "978-9730228236" );
book.put( "title", "High-Performance Java Persistence" );
book.put( "author", "Vlad Mihalcea" );
// Not standard JPA, you need to use the Hibernate session
entityManager
.unwrap(Session.class)
.save( "Book", book );
确保查看 Hibernate ORM 文档以获取更多详细信息