Это мой файл сущность: -GenerationType.SEQUENCE не генерирует последовательность в спящем режиме
@Entity
@Table(name = "tbl_article_function_instruction_status")
@XmlRootElement
public class ArticleFonctionInstructionStatuts extends BaseEntity implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "AFIS_Sequence")
@SequenceGenerator(allocationSize = 5000, name="AFIS_Sequence", sequenceName="AFIS_Sequence")
@Basic(optional = false)
@Column(name = "art_fun_ins_status_id")
private Integer afiStaIndex;
@Basic(optional = false)
@Column(name = "art_fun_ins_status_date")
@Temporal(TemporalType.TIMESTAMP)
private Date afiStaDate;
}
Я попытался GenerationType.SEQUENCE
& GenerationType.AUTO
.
Но в случае GenerationType.SEQUENCE
, он дает мне ошибку: -
Вызванный: javax.persistence.PersistenceException: [PersistenceUnit: по умолчанию] Не удалось построить гибернации SessionFactory в org.hibernate.jpa.boot. internal.EntityManagerFactoryBuilderImpl.persistenceException (EntityManagerFactoryBuilderImpl.java:1239) в org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.access $ 600 (EntityManagerFactoryBuilderImpl.java:120) в org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl $ 4. выполнить (EntityManagerFactoryBuilderImpl.java:855) на org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderIm пл $ 4.perform (EntityManagerFactoryBuilderImpl.java:845) в org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl (ClassLoaderServiceImpl.java:398) в org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build (EntityManagerFactoryBuilderImpl.java:844) на org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory (SpringHibernateJpaPersistenceProvider.java:60) на org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory (LocalContainerEntityManagerFactoryBean.java:343) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet (AbstractEntityManagerFactoryBean.java:318) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFacto ry.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1627) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1564) ... 42 более Вызванный: org.hibernate.MappingException: Не могли Генератор идентификаторов экземпляров [entity-name = com.alstom.autofie.entity.ArticleFonctionInstructionStatuts] at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.createIdentifierGenerator (DefaultIdentifierGeneratorFactory.java:123) at org.hibernate.mapping.SimpleValue. createIdentifierGenerator (SimpleValue.java:213) at org.hibernate.internal.SessionFactoryImpl. (SessionFactoryImpl.java:323) at org.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:1859) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl $ 4.perform (EntityManagerFactoryBuilderImpl.java:852) ... 50 еще Вызвано: org.hibernate.MappingException: com.alstom.autofie2.dao.CustomSQLDialect не делает опорные последовательности на org.hibernate.dialect.Dialect.getSequenceNextValString (Dialect.java:882) на org.hibernate.id.SequenceGenerator.configure (SequenceGenerator.java:110) в org.hibernate.id.SequenceHiLoGenerator.configure (SequenceHiLoGenerator.java:55) в org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.createIdentifierGenerator (DefaultIdentifierGeneratorFactory.java:117) ... 54 более
Здесь CustomSQLDialect - это класс, который расширяет SQLServerDialect.
В случае GenerationType.AUTO
, он дает мне ошибку при вставке нескольких записей, потому что он генерирует одинаковый ключ все время, а не последовательный ключ.
ОТЛАДКА IdentifierGeneratorHelper - Нативно генерироваться идентичность: 0
Я проверил в SQL Server, AFIS_Sequence генерирует последовательность каждый раз. Это означает, что есть некоторые проблемы с конфигурацией спящего режима.
Есть ли какая-либо конфигурация пропущена или это ошибка спящего режима?
Я создал 'AFIS_Sequence' в базе данных. Мне нужно создать bean-компонент с именем 'empSeqGen'? – unknown
Я отредактировал ответ, я добавил дополнительную информацию –