У меня проблема с весенней загрузкой и спящим режимом. У меня есть сущность в таблице MySQL. Когда я звоню в сервис индивидуально, все отлично работает. Однако, когда я запускаю это с нагрузочным тестом, таким как jmeter, я получаю следующую ошибку:
org.hibernate.HibernateException: identifier of an instance of com.kafka.adapter.entity.TransactionEntity was altered from 4820 to 4821
Я пробовал несколько разных способов, чтобы получить первичный ключ безуспешно:
application.yml
server:
port: 9027
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useSSL=false&allowPublicKeyRetrieval=true
username: --
password: --
driver-class-name: com.mysql.cj.jdbc.Driver
tomcat:
test-while-idle: true
validation-query: SELECT 1
initialization-mode: never
platform: mysql
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL5Dialect
hibernate:
naming:
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
ddl-auto: validate
TransactionEntity:
@Entity
@Table(name = "transactions")
public class TransactionEntity {
@Id
@GeneratedValue(
strategy= GenerationType.AUTO,
generator="native"
)
@GenericGenerator(
name = "native",
strategy = "native"
)
private Long id;
private String hogan_co;
public Long getId() {
return id;
}
public void setId(Long ID) {
this.id = ID;
}
Service class
public void transactionTranslation2() {
startTimeDuration = System.currentTimeMillis();
transactionRepository.save(te);
endTimeDuration = System.currentTimeMillis();
}
public void findCategory() {
te = new TransactionEntity();
transactionTranslation2();
duration = endTimeDuration - startTimeDuration;
// System.out.println(duration * 0.001 + " seconds");
}
Я ожидаю более 1 миллиона транзакций в час, поэтому он должен обрабатывать высокую нагрузку. Вы можете мне помочь?