我正在使用 JPA 实现由 Hibernate 支持的实体框架作为 ORM 以与 Oracle DB 一起使用。
一切都用 Spring 粘合(Autowired)。
为了生成数据库模式,我已将其添加到 jpa-context.xml
<bean id="h8JPAVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="false" />
<property name="generateDdl" value="true" />
</bean>
我已经使用序列生成器为实体生成 ID,但由于某种原因,当模式被创建\更新时,Hibernate 不会自己创建序列。
这是我的 mapping.xml 文件,它注入了身份字段
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
version="1.0">
<mapped-superclass class="com.myapp.entity.BaseModelEntity" access="FIELD">
<attributes>
<id name="id">
<generated-value strategy="SEQUENCE" generator="MODEL_SEQ"/>
<sequence-generator name="MODEL_SEQ" sequence-name="MYAPP_MODEL_SEQ"/>
</id>
</attributes>
</mapped-superclass>
</entity-mappings>
搜索谷歌总是给我如何使用现有序列的结果,但是我希望 Hibernate 从我那里创建它们。
在此先感谢您的帮助