Java @GeneratedValue(strategy=GenerationType.AUTO)不为嵌入式安装程序创建id

Java @GeneratedValue(strategy=GenerationType.AUTO)不为嵌入式安装程序创建id,java,spring,hibernate,jpa,id-generation,Java,Spring,Hibernate,Jpa,Id Generation,我使用Spring和Hibernate作为JPA实现者进行了以下数据库设置。 我有一个扩展org.springframework.data.jpa.domain.AbstractPersistable的实体类,它基本上定义了一个id属性,生成策略为AUTO 如果正确读取所有内容,这意味着JPA实现者(在我的例子中是Hibernate)负责生成id 它确实适用于使用PostgreSQL的实际设置,但不适用于此嵌入式设置: <jdbc:embedded-database id="dat

我使用Spring和Hibernate作为JPA实现者进行了以下数据库设置。 我有一个扩展org.springframework.data.jpa.domain.AbstractPersistable的实体类,它基本上定义了一个id属性,生成策略为AUTO

如果正确读取所有内容,这意味着JPA实现者(在我的例子中是Hibernate)负责生成id

它确实适用于使用PostgreSQL的实际设置,但不适用于此嵌入式设置:

    <jdbc:embedded-database id="dataSource" type="HSQL">
        <jdbc:script location="classpath:/sql/schema.sql" />
    </jdbc:embedded-database>

    <bean
        class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
    <bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                <property name="databasePlatform" value="org.hibernate.dialect.HSQLDialect" />
            </bean>
        </property>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>

实体类

@Entity
public class Account extends AbstractPersistable<Long> {

    private static final long serialVersionUID = 1L;

    @NotNull
    @Size(min=1, max=25)
    private String name;
}
@实体
公共类帐户扩展了可抽象持久化{
私有静态最终长serialVersionUID=1L;
@NotNull
@尺寸(最小值=1,最大值=25)
私有字符串名称;
}

看看这个[问题][1]。似乎也是一个类似的问题。[1] :能否显示实体类。。?