繁体   English   中英

@Version 注释无法正常工作

[英]@Version annotation does not work correctly

我在 Spring Boot 项目中使用 Java Persistence 版本控制来处理乐观并发控制。

我有 3 个模型:过程、惊人和合同。

过程

@Entity
@Table(name = "processes")
class Process(

...
...
  @Version
  private var version: Int = 0

)

惊人的

@Entity
@Table(name = "amazing")
class Amazing(

        @JsonIgnore
        @ManyToOne
        @JoinColumn(name = "process_id")
        var process: Process

...
...
)

合同

@Entity
@Table(name = "Contracts")
class Contract(

        @JsonIgnore
        @ManyToOne
        @JoinColumn(name = "process_id")
        var process: Process

...
...
)

现在我想从数据库中检索数据。 首先,我调用过程,然后调用惊人和合同的列表。 问题是当我调用第二个列表时,进程的版本会增加!

val process = processRepo.findById(processId) //version is 20
val contracts = contractRepo.findAll() //version is 20
val amazing = amazingRepo.findAll() //version is 21

合约回购

interface ContractRepo : JpaRepository<Contract, Long>

惊人的回购

interface AmazingRepo : JpaRepository<Amazing, Long>

我找不到为什么在没有保存过程的情况下在第二次调用中增加版本的问题?

注意:
我启用 SQL 日志。 所有记录的都是选择。

Hibernate: select fixedamazi0_.id as id1_8_, fixedamazi0_.action_date as action_d2_8_, fixedamazi0_.amount as amount3_8_, fixedamazi0_.created_at as created_4_8_, fixedamazi0_.employee_id as employee9_8_, fixedamazi0_.expiration_date as expirati5_8_, fixedamazi0_.modified_at as modified6_8_, fixedamazi0_.percent as percent7_8_, fixedamazi0_.process_id as process10_8_, fixedamazi0_.row_code as row_code8_8_ from fixed_amazing fixedamazi0_
Hibernate: select employee0_.id as id1_7_0_, employee0_.company_id as company_9_7_0_, employee0_.created_at as created_2_7_0_, employee0_.isargari_type as isargari3_7_0_, employee0_.modified_at as modified4_7_0_, employee0_.personnel_id as personne5_7_0_, employee0_.roles as roles6_7_0_, employee0_.status as status7_7_0_, employee0_.type as type8_7_0_, employee0_.user_id as user_id10_7_0_, company1_.id as id1_2_1_, company1_.areas as areas2_2_1_, company1_.company_code as company_3_2_1_, company1_.created_at as created_4_2_1_, company1_.direction as directio5_2_1_, company1_.financial_code as financia6_2_1_, company1_.modified_at as modified7_2_1_, company1_.name as name8_2_1_, company1_.parent_id as parent_11_2_1_, company1_.province as province9_2_1_, company1_.zone as zone10_2_1_, company2_.id as id1_2_2_, company2_.areas as areas2_2_2_, company2_.company_code as company_3_2_2_, company2_.created_at as created_4_2_2_, company2_.direction as directio5_2_2_, company2_.financial_code as financia6_2_2_, company2_.modified_at as modified7_2_2_, company2_.name as name8_2_2_, company2_.parent_id as parent_11_2_2_, company2_.province as province9_2_2_, company2_.zone as zone10_2_2_, user3_.id as id1_24_3_, user3_.birth_date as birth_da2_24_3_, user3_.created_at as created_3_24_3_, user3_.email as email4_24_3_, user3_.father_name as father_n5_24_3_, user3_.first_name as first_na6_24_3_, user3_.gender as gender7_24_3_, user3_.isargari_type as isargari8_24_3_, user3_.last_name as last_nam9_24_3_, user3_.marital_state as marital10_24_3_, user3_.modified_at as modifie11_24_3_, user3_.national_code as nationa12_24_3_, user3_.password as passwor13_24_3_, user3_.personnel_id as personn14_24_3_, user3_.phone as phone15_24_3_, user3_.sso_validation as sso_val16_24_3_, user3_.telephone as telepho17_24_3_, user3_.version as version18_24_3_ from employees employee0_ left outer join companies company1_ on employee0_.company_id=company1_.id left outer join companies company2_ on company1_.parent_id=company2_.id left outer join users user3_ on employee0_.user_id=user3_.id where employee0_.id=?
Hibernate: select payrollpro0_.id as id1_19_0_, payrollpro0_.comments as comments2_19_0_, payrollpro0_.company_id as company_8_19_0_, payrollpro0_.created_at as created_3_19_0_, payrollpro0_.modified_at as modified4_19_0_, payrollpro0_.period_id as period_i9_19_0_, payrollpro0_.state as state5_19_0_, payrollpro0_.type as type6_19_0_, payrollpro0_.version as version7_19_0_, company1_.id as id1_2_1_, company1_.areas as areas2_2_1_, company1_.company_code as company_3_2_1_, company1_.created_at as created_4_2_1_, company1_.direction as directio5_2_1_, company1_.financial_code as financia6_2_1_, company1_.modified_at as modified7_2_1_, company1_.name as name8_2_1_, company1_.parent_id as parent_11_2_1_, company1_.province as province9_2_1_, company1_.zone as zone10_2_1_, company2_.id as id1_2_2_, company2_.areas as areas2_2_2_, company2_.company_code as company_3_2_2_, company2_.created_at as created_4_2_2_, company2_.direction as directio5_2_2_, company2_.financial_code as financia6_2_2_, company2_.modified_at as modified7_2_2_, company2_.name as name8_2_2_, company2_.parent_id as parent_11_2_2_, company2_.province as province9_2_2_, company2_.zone as zone10_2_2_, payperiod3_.id as id1_15_3_, payperiod3_.code as code2_15_3_, payperiod3_.created_at as created_3_15_3_, payperiod3_.days_count as days_cou4_15_3_, payperiod3_.end_date as end_date5_15_3_, payperiod3_.modified_at as modified6_15_3_, payperiod3_.name as name7_15_3_, payperiod3_.persian_end_date as persian_8_15_3_, payperiod3_.persian_start_date as persian_9_15_3_, payperiod3_.start_date as start_d10_15_3_ from payroll_process_managements payrollpro0_ left outer join companies company1_ on payrollpro0_.company_id=company1_.id left outer join companies company2_ on company1_.parent_id=company2_.id left outer join pay_periods payperiod3_ on payrollpro0_.period_id=payperiod3_.id where payrollpro0_.id=?
Hibernate: select employee0_.id as id1_7_0_, employee0_.company_id as company_9_7_0_, employee0_.created_at as created_2_7_0_, employee0_.isargari_type as isargari3_7_0_, employee0_.modified_at as modified4_7_0_, employee0_.personnel_id as personne5_7_0_, employee0_.roles as roles6_7_0_, employee0_.status as status7_7_0_, employee0_.type as type8_7_0_, employee0_.user_id as user_id10_7_0_, company1_.id as id1_2_1_, company1_.areas as areas2_2_1_, company1_.company_code as company_3_2_1_, company1_.created_at as created_4_2_1_, company1_.direction as directio5_2_1_, company1_.financial_code as financia6_2_1_, company1_.modified_at as modified7_2_1_, company1_.name as name8_2_1_, company1_.parent_id as parent_11_2_1_, company1_.province as province9_2_1_, company1_.zone as zone10_2_1_, company2_.id as id1_2_2_, company2_.areas as areas2_2_2_, company2_.company_code as company_3_2_2_, company2_.created_at as created_4_2_2_, company2_.direction as directio5_2_2_, company2_.financial_code as financia6_2_2_, company2_.modified_at as modified7_2_2_, company2_.name as name8_2_2_, company2_.parent_id as parent_11_2_2_, company2_.province as province9_2_2_, company2_.zone as zone10_2_2_, user3_.id as id1_24_3_, user3_.birth_date as birth_da2_24_3_, user3_.created_at as created_3_24_3_, user3_.email as email4_24_3_, user3_.father_name as father_n5_24_3_, user3_.first_name as first_na6_24_3_, user3_.gender as gender7_24_3_, user3_.isargari_type as isargari8_24_3_, user3_.last_name as last_nam9_24_3_, user3_.marital_state as marital10_24_3_, user3_.modified_at as modifie11_24_3_, user3_.national_code as nationa12_24_3_, user3_.password as passwor13_24_3_, user3_.personnel_id as personn14_24_3_, user3_.phone as phone15_24_3_, user3_.sso_validation as sso_val16_24_3_, user3_.telephone as telepho17_24_3_, user3_.version as version18_24_3_ from employees employee0_ left outer join companies company1_ on employee0_.company_id=company1_.id left outer join companies company2_ on company1_.parent_id=company2_.id left outer join users user3_ on employee0_.user_id=user3_.id where employee0_.id=?
Hibernate: select employee0_.id as id1_7_0_, employee0_.company_id as company_9_7_0_, employee0_.created_at as created_2_7_0_, employee0_.isargari_type as isargari3_7_0_, employee0_.modified_at as modified4_7_0_, employee0_.personnel_id as personne5_7_0_, employee0_.roles as roles6_7_0_, employee0_.status as status7_7_0_, employee0_.type as type8_7_0_, employee0_.user_id as user_id10_7_0_, company1_.id as id1_2_1_, company1_.areas as areas2_2_1_, company1_.company_code as company_3_2_1_, company1_.created_at as created_4_2_1_, company1_.direction as directio5_2_1_, company1_.financial_code as financia6_2_1_, company1_.modified_at as modified7_2_1_, company1_.name as name8_2_1_, company1_.parent_id as parent_11_2_1_, company1_.province as province9_2_1_, company1_.zone as zone10_2_1_, company2_.id as id1_2_2_, company2_.areas as areas2_2_2_, company2_.company_code as company_3_2_2_, company2_.created_at as created_4_2_2_, company2_.direction as directio5_2_2_, company2_.financial_code as financia6_2_2_, company2_.modified_at as modified7_2_2_, company2_.name as name8_2_2_, company2_.parent_id as parent_11_2_2_, company2_.province as province9_2_2_, company2_.zone as zone10_2_2_, user3_.id as id1_24_3_, user3_.birth_date as birth_da2_24_3_, user3_.created_at as created_3_24_3_, user3_.email as email4_24_3_, user3_.father_name as father_n5_24_3_, user3_.first_name as first_na6_24_3_, user3_.gender as gender7_24_3_, user3_.isargari_type as isargari8_24_3_, user3_.last_name as last_nam9_24_3_, user3_.marital_state as marital10_24_3_, user3_.modified_at as modifie11_24_3_, user3_.national_code as nationa12_24_3_, user3_.password as passwor13_24_3_, user3_.personnel_id as personn14_24_3_, user3_.phone as phone15_24_3_, user3_.sso_validation as sso_val16_24_3_, user3_.telephone as telepho17_24_3_, user3_.version as version18_24_3_ from employees employee0_ left outer join companies company1_ on employee0_.company_id=company1_.id left outer join companies company2_ on company1_.parent_id=company2_.id left outer join users user3_ on employee0_.user_id=user3_.id where employee0_.id=?
Hibernate: select employee0_.id as id1_7_0_, employee0_.company_id as company_9_7_0_, employee0_.created_at as created_2_7_0_, employee0_.isargari_type as isargari3_7_0_, employee0_.modified_at as modified4_7_0_, employee0_.personnel_id as personne5_7_0_, employee0_.roles as roles6_7_0_, employee0_.status as status7_7_0_, employee0_.type as type8_7_0_, employee0_.user_id as user_id10_7_0_, company1_.id as id1_2_1_, company1_.areas as areas2_2_1_, company1_.company_code as company_3_2_1_, company1_.created_at as created_4_2_1_, company1_.direction as directio5_2_1_, company1_.financial_code as financia6_2_1_, company1_.modified_at as modified7_2_1_, company1_.name as name8_2_1_, company1_.parent_id as parent_11_2_1_, company1_.province as province9_2_1_, company1_.zone as zone10_2_1_, company2_.id as id1_2_2_, company2_.areas as areas2_2_2_, company2_.company_code as company_3_2_2_, company2_.created_at as created_4_2_2_, company2_.direction as directio5_2_2_, company2_.financial_code as financia6_2_2_, company2_.modified_at as modified7_2_2_, company2_.name as name8_2_2_, company2_.parent_id as parent_11_2_2_, company2_.province as province9_2_2_, company2_.zone as zone10_2_2_, user3_.id as id1_24_3_, user3_.birth_date as birth_da2_24_3_, user3_.created_at as created_3_24_3_, user3_.email as email4_24_3_, user3_.father_name as father_n5_24_3_, user3_.first_name as first_na6_24_3_, user3_.gender as gender7_24_3_, user3_.isargari_type as isargari8_24_3_, user3_.last_name as last_nam9_24_3_, user3_.marital_state as marital10_24_3_, user3_.modified_at as modifie11_24_3_, user3_.national_code as nationa12_24_3_, user3_.password as passwor13_24_3_, user3_.personnel_id as personn14_24_3_, user3_.phone as phone15_24_3_, user3_.sso_validation as sso_val16_24_3_, user3_.telephone as telepho17_24_3_, user3_.version as version18_24_3_ from employees employee0_ left outer join companies company1_ on employee0_.company_id=company1_.id left outer join companies company2_ on company1_.parent_id=company2_.id left outer join users user3_ on employee0_.user_id=user3_.id where employee0_.id=?
Hibernate: select employee0_.id as id1_7_0_, employee0_.company_id as company_9_7_0_, employee0_.created_at as created_2_7_0_, employee0_.isargari_type as isargari3_7_0_, employee0_.modified_at as modified4_7_0_, employee0_.personnel_id as personne5_7_0_, employee0_.roles as roles6_7_0_, employee0_.status as status7_7_0_, employee0_.type as type8_7_0_, employee0_.user_id as user_id10_7_0_, company1_.id as id1_2_1_, company1_.areas as areas2_2_1_, company1_.company_code as company_3_2_1_, company1_.created_at as created_4_2_1_, company1_.direction as directio5_2_1_, company1_.financial_code as financia6_2_1_, company1_.modified_at as modified7_2_1_, company1_.name as name8_2_1_, company1_.parent_id as parent_11_2_1_, company1_.province as province9_2_1_, company1_.zone as zone10_2_1_, company2_.id as id1_2_2_, company2_.areas as areas2_2_2_, company2_.company_code as company_3_2_2_, company2_.created_at as created_4_2_2_, company2_.direction as directio5_2_2_, company2_.financial_code as financia6_2_2_, company2_.modified_at as modified7_2_2_, company2_.name as name8_2_2_, company2_.parent_id as parent_11_2_2_, company2_.province as province9_2_2_, company2_.zone as zone10_2_2_, user3_.id as id1_24_3_, user3_.birth_date as birth_da2_24_3_, user3_.created_at as created_3_24_3_, user3_.email as email4_24_3_, user3_.father_name as father_n5_24_3_, user3_.first_name as first_na6_24_3_, user3_.gender as gender7_24_3_, user3_.isargari_type as isargari8_24_3_, user3_.last_name as last_nam9_24_3_, user3_.marital_state as marital10_24_3_, user3_.modified_at as modifie11_24_3_, user3_.national_code as nationa12_24_3_, user3_.password as passwor13_24_3_, user3_.personnel_id as personn14_24_3_, user3_.phone as phone15_24_3_, user3_.sso_validation as sso_val16_24_3_, user3_.telephone as telepho17_24_3_, user3_.version as version18_24_3_ from employees employee0_ left outer join companies company1_ on employee0_.company_id=company1_.id left outer join companies company2_ on company1_.parent_id=company2_.id left outer join users user3_ on employee0_.user_id=user3_.id where employee0_.id=?
Hibernate: select employee0_.id as id1_7_0_, employee0_.company_id as company_9_7_0_, employee0_.created_at as created_2_7_0_, employee0_.isargari_type as isargari3_7_0_, employee0_.modified_at as modified4_7_0_, employee0_.personnel_id as personne5_7_0_, employee0_.roles as roles6_7_0_, employee0_.status as status7_7_0_, employee0_.type as type8_7_0_, employee0_.user_id as user_id10_7_0_, company1_.id as id1_2_1_, company1_.areas as areas2_2_1_, company1_.company_code as company_3_2_1_, company1_.created_at as created_4_2_1_, company1_.direction as directio5_2_1_, company1_.financial_code as financia6_2_1_, company1_.modified_at as modified7_2_1_, company1_.name as name8_2_1_, company1_.parent_id as parent_11_2_1_, company1_.province as province9_2_1_, company1_.zone as zone10_2_1_, company2_.id as id1_2_2_, company2_.areas as areas2_2_2_, company2_.company_code as company_3_2_2_, company2_.created_at as created_4_2_2_, company2_.direction as directio5_2_2_, company2_.financial_code as financia6_2_2_, company2_.modified_at as modified7_2_2_, company2_.name as name8_2_2_, company2_.parent_id as parent_11_2_2_, company2_.province as province9_2_2_, company2_.zone as zone10_2_2_, user3_.id as id1_24_3_, user3_.birth_date as birth_da2_24_3_, user3_.created_at as created_3_24_3_, user3_.email as email4_24_3_, user3_.father_name as father_n5_24_3_, user3_.first_name as first_na6_24_3_, user3_.gender as gender7_24_3_, user3_.isargari_type as isargari8_24_3_, user3_.last_name as last_nam9_24_3_, user3_.marital_state as marital10_24_3_, user3_.modified_at as modifie11_24_3_, user3_.national_code as nationa12_24_3_, user3_.password as passwor13_24_3_, user3_.personnel_id as personn14_24_3_, user3_.phone as phone15_24_3_, user3_.sso_validation as sso_val16_24_3_, user3_.telephone as telepho17_24_3_, user3_.version as version18_24_3_ from employees employee0_ left outer join companies company1_ on employee0_.company_id=company1_.id left outer join companies company2_ on company1_.parent_id=company2_.id left outer join users user3_ on employee0_.user_id=user3_.id where employee0_.id=?
Hibernate: select employee0_.id as id1_7_0_, employee0_.company_id as company_9_7_0_, employee0_.created_at as created_2_7_0_, employee0_.isargari_type as isargari3_7_0_, employee0_.modified_at as modified4_7_0_, employee0_.personnel_id as personne5_7_0_, employee0_.roles as roles6_7_0_, employee0_.status as status7_7_0_, employee0_.type as type8_7_0_, employee0_.user_id as user_id10_7_0_, company1_.id as id1_2_1_, company1_.areas as areas2_2_1_, company1_.company_code as company_3_2_1_, company1_.created_at as created_4_2_1_, company1_.direction as directio5_2_1_, company1_.financial_code as financia6_2_1_, company1_.modified_at as modified7_2_1_, company1_.name as name8_2_1_, company1_.parent_id as parent_11_2_1_, company1_.province as province9_2_1_, company1_.zone as zone10_2_1_, company2_.id as id1_2_2_, company2_.areas as areas2_2_2_, company2_.company_code as company_3_2_2_, company2_.created_at as created_4_2_2_, company2_.direction as directio5_2_2_, company2_.financial_code as financia6_2_2_, company2_.modified_at as modified7_2_2_, company2_.name as name8_2_2_, company2_.parent_id as parent_11_2_2_, company2_.province as province9_2_2_, company2_.zone as zone10_2_2_, user3_.id as id1_24_3_, user3_.birth_date as birth_da2_24_3_, user3_.created_at as created_3_24_3_, user3_.email as email4_24_3_, user3_.father_name as father_n5_24_3_, user3_.first_name as first_na6_24_3_, user3_.gender as gender7_24_3_, user3_.isargari_type as isargari8_24_3_, user3_.last_name as last_nam9_24_3_, user3_.marital_state as marital10_24_3_, user3_.modified_at as modifie11_24_3_, user3_.national_code as nationa12_24_3_, user3_.password as passwor13_24_3_, user3_.personnel_id as personn14_24_3_, user3_.phone as phone15_24_3_, user3_.sso_validation as sso_val16_24_3_, user3_.telephone as telepho17_24_3_, user3_.version as version18_24_3_ from employees employee0_ left outer join companies company1_ on employee0_.company_id=company1_.id left outer join companies company2_ on company1_.parent_id=company2_.id left outer join users user3_ on employee0_.user_id=user3_.id where employee0_.id=?
Hibernate: select employee0_.id as id1_7_0_, employee0_.company_id as company_9_7_0_, employee0_.created_at as created_2_7_0_, employee0_.isargari_type as isargari3_7_0_, employee0_.modified_at as modified4_7_0_, employee0_.personnel_id as personne5_7_0_, employee0_.roles as roles6_7_0_, employee0_.status as status7_7_0_, employee0_.type as type8_7_0_, employee0_.user_id as user_id10_7_0_, company1_.id as id1_2_1_, company1_.areas as areas2_2_1_, company1_.company_code as company_3_2_1_, company1_.created_at as created_4_2_1_, company1_.direction as directio5_2_1_, company1_.financial_code as financia6_2_1_, company1_.modified_at as modified7_2_1_, company1_.name as name8_2_1_, company1_.parent_id as parent_11_2_1_, company1_.province as province9_2_1_, company1_.zone as zone10_2_1_, company2_.id as id1_2_2_, company2_.areas as areas2_2_2_, company2_.company_code as company_3_2_2_, company2_.created_at as created_4_2_2_, company2_.direction as directio5_2_2_, company2_.financial_code as financia6_2_2_, company2_.modified_at as modified7_2_2_, company2_.name as name8_2_2_, company2_.parent_id as parent_11_2_2_, company2_.province as province9_2_2_, company2_.zone as zone10_2_2_, user3_.id as id1_24_3_, user3_.birth_date as birth_da2_24_3_, user3_.created_at as created_3_24_3_, user3_.email as email4_24_3_, user3_.father_name as father_n5_24_3_, user3_.first_name as first_na6_24_3_, user3_.gender as gender7_24_3_, user3_.isargari_type as isargari8_24_3_, user3_.last_name as last_nam9_24_3_, user3_.marital_state as marital10_24_3_, user3_.modified_at as modifie11_24_3_, user3_.national_code as nationa12_24_3_, user3_.password as passwor13_24_3_, user3_.personnel_id as personn14_24_3_, user3_.phone as phone15_24_3_, user3_.sso_validation as sso_val16_24_3_, user3_.telephone as telepho17_24_3_, user3_.version as version18_24_3_ from employees employee0_ left outer join companies company1_ on employee0_.company_id=company1_.id left outer join companies company2_ on company1_.parent_id=company2_.id left outer join users user3_ on employee0_.user_id=user3_.id where employee0_.id=?
Hibernate: select employee0_.id as id1_7_0_, employee0_.company_id as company_9_7_0_, employee0_.created_at as created_2_7_0_, employee0_.isargari_type as isargari3_7_0_, employee0_.modified_at as modified4_7_0_, employee0_.personnel_id as personne5_7_0_, employee0_.roles as roles6_7_0_, employee0_.status as status7_7_0_, employee0_.type as type8_7_0_, employee0_.user_id as user_id10_7_0_, company1_.id as id1_2_1_, company1_.areas as areas2_2_1_, company1_.company_code as company_3_2_1_, company1_.created_at as created_4_2_1_, company1_.direction as directio5_2_1_, company1_.financial_code as financia6_2_1_, company1_.modified_at as modified7_2_1_, company1_.name as name8_2_1_, company1_.parent_id as parent_11_2_1_, company1_.province as province9_2_1_, company1_.zone as zone10_2_1_, company2_.id as id1_2_2_, company2_.areas as areas2_2_2_, company2_.company_code as company_3_2_2_, company2_.created_at as created_4_2_2_, company2_.direction as directio5_2_2_, company2_.financial_code as financia6_2_2_, company2_.modified_at as modified7_2_2_, company2_.name as name8_2_2_, company2_.parent_id as parent_11_2_2_, company2_.province as province9_2_2_, company2_.zone as zone10_2_2_, user3_.id as id1_24_3_, user3_.birth_date as birth_da2_24_3_, user3_.created_at as created_3_24_3_, user3_.email as email4_24_3_, user3_.father_name as father_n5_24_3_, user3_.first_name as first_na6_24_3_, user3_.gender as gender7_24_3_, user3_.isargari_type as isargari8_24_3_, user3_.last_name as last_nam9_24_3_, user3_.marital_state as marital10_24_3_, user3_.modified_at as modifie11_24_3_, user3_.national_code as nationa12_24_3_, user3_.password as passwor13_24_3_, user3_.personnel_id as personn14_24_3_, user3_.phone as phone15_24_3_, user3_.sso_validation as sso_val16_24_3_, user3_.telephone as telepho17_24_3_, user3_.version as version18_24_3_ from employees employee0_ left outer join companies company1_ on employee0_.company_id=company1_.id left outer join companies company2_ on company1_.parent_id=company2_.id left outer join users user3_ on employee0_.user_id=user3_.id where employee0_.id=?
Hibernate: select maincontra0_.id as id1_10_, maincontra0_.action_date as action_d2_10_, maincontra0_.base as base3_10_, maincontra0_.created_at as created_4_10_, maincontra0_.employee_id as employee7_10_, maincontra0_.expiration_date as expirati5_10_, maincontra0_.modified_at as modified6_10_, maincontra0_.process_id as process_8_10_ from main_contracts maincontra0_

如果所述实体在一级缓存中,则不需要显式保存实体。

我怀疑您更改了Process某些属性,当您调用amazingRepo.findAll()它会导致Amazing及其依赖的所有实体(包括Process )刷新。

作为建议,请查看此链接https://www.baeldung.com/jpa-optimistic-locking 不同类型的LockModeType有一点,并非所有类型LockModeType在更新时增加版本:

OPTIMISTIC - 它为包含版本属性的所有实体获取乐观读锁

OPTIMISTIC_FORCE_INCREMENT - 它获得与 OPTIMISTIC 相同的乐观锁,并额外增加版本属性值

阅读——它是乐观的同义词

WRITE – 它是 OPTIMISTIC_FORCE_INCREMENT 的同义词

如何配置的一个小例子:

@Lock(LockModeType.OPTIMISTIC)
public Optional<YourEntity> findById(Long id);

要查看更多信息,请查看 baeldung 的另一篇精彩文章: https ://www.baeldung.com/java-jpa-transaction-locks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM