Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
515 views
in Technique[技术] by (71.8m points)

spring - How to get lock timeout in hibernate with PostgreSQL database

I want to get lock(PESSIMISTIC_WRITE) timeout in Spring Data JPA with PostgreSQL Server. I tried @QueryHints but postgres seems to ignore it.

@QueryHints(value = {@QueryHint(name = "javax.persistence.lock.timeout", value = "0")})
@Lock(LockModeType.PESSIMISTIC_WRITE)
@Query("select s from Student s where s.email = :email")
Optional<Student> findWithForUpdate(@Param("email") String email);

With lock timeout value is 0, it appends NOWAIT with SELECT FOR UPDATE and lock command immediately timeout if there is already lock present.

if I set some other value for javax.persistence.lock.timeout lets say "20" it does not timeout.

question from:https://stackoverflow.com/questions/65845760/how-to-get-lock-timeout-in-hibernate-with-postgresql-database

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...