зеркало из
https://github.com/iharh/notes.git
synced 2025-10-30 21:26:09 +02:00
m
Этот коммит содержится в:
родитель
df04e87dd4
Коммит
89765c3a1f
@ -49,6 +49,17 @@ JPoint - Ilya and Fedor Sazonov - DB Tamer of 48:02
|
|||||||
! https://www.youtube.com/watch?v=mIxr65ZGGFw
|
! https://www.youtube.com/watch?v=mIxr65ZGGFw
|
||||||
! hikari
|
! hikari
|
||||||
! 43:00 pgBouncer ?
|
! 43:00 pgBouncer ?
|
||||||
|
Devoxx - Performance oriented Spring Data JPA & Hibernate by Maciej Walkowiak 23:00 of 43:43
|
||||||
|
!!!
|
||||||
|
https://www.youtube.com/watch?v=exqfB1WaqIw
|
||||||
|
! DB connection pool (hikari) should not be too big (even 100 is big)
|
||||||
|
! need to optimize queries
|
||||||
|
https://github.com/gavlyukovskiy/spring-boot-data-source-decorator
|
||||||
|
https://p6spy.readthedocs.io/en/latest/index.html
|
||||||
|
! to post-pone connection obtaining till real DB-call
|
||||||
|
! spring.datasource.hikari.auto-commit=false # spring will not open connection untill real DB access
|
||||||
|
! if long ext-call is after DB-call - need to use spring transactionTemplate
|
||||||
|
!
|
||||||
Amplicode - Lombok Problems with Spring Data JPA 0:00 of 12:00
|
Amplicode - Lombok Problems with Spring Data JPA 0:00 of 12:00
|
||||||
https://www.youtube.com/watch?v=7kdQTh4oOQM
|
https://www.youtube.com/watch?v=7kdQTh4oOQM
|
||||||
Build faster persistence layers with Spring Data JPA 3 by Thorben Janssen @ Spring I/O 2024 0:00 of 49:49
|
Build faster persistence layers with Spring Data JPA 3 by Thorben Janssen @ Spring I/O 2024 0:00 of 49:49
|
||||||
@ -56,8 +67,6 @@ Build faster persistence layers with Spring Data JPA 3 by Thorben Janssen @ Spri
|
|||||||
https://2024.springio.net/slides/build-faster-persistence-layers-with-spring-data-jpa-3-springio24.pdf
|
https://2024.springio.net/slides/build-faster-persistence-layers-with-spring-data-jpa-3-springio24.pdf
|
||||||
Telusko - Spring Data JPA 0:00 of 28:27
|
Telusko - Spring Data JPA 0:00 of 28:27
|
||||||
https://www.youtube.com/watch?v=ImBqsE2exGo
|
https://www.youtube.com/watch?v=ImBqsE2exGo
|
||||||
Devoxx - Performance oriented Spring Data JPA & Hibernate by Maciej Walkowiak 14:00 of 43:43
|
|
||||||
https://www.youtube.com/watch?v=exqfB1WaqIw
|
|
||||||
2023
|
2023
|
||||||
Spilka - JPA/Hibernate Fundamentals 2023 of 7 parts
|
Spilka - JPA/Hibernate Fundamentals 2023 of 7 parts
|
||||||
https://www.youtube.com/playlist?list=PLEocw3gLFc8UYNv0uRG399GSggi8icTL6
|
https://www.youtube.com/playlist?list=PLEocw3gLFc8UYNv0uRG399GSggi8icTL6
|
||||||
|
|||||||
@ -3,7 +3,11 @@ https://habr.com/ru/articles/265061/
|
|||||||
2024
|
2024
|
||||||
https://habr.com/ru/articles/824936/
|
https://habr.com/ru/articles/824936/
|
||||||
https://habr.com/ru/companies/magnit/articles/814573/
|
https://habr.com/ru/companies/magnit/articles/814573/
|
||||||
! criteria-api
|
! which to replace criteria-api by - QueryDSL
|
||||||
@OneToMany
|
@DynamicUpdate - to not cache update p-stmt
|
||||||
@Fetch(FetchMode.SUBSELECT) // but does now work with pagination, hbm-bug
|
! for N+1 problem solving
|
||||||
@Formula-annotation
|
@OneToMany @BatchSize(size=50)
|
||||||
|
@OneToMany @Fetch(FetchMode.SUBSELECT) // but does now work with pagination, hbm-bug
|
||||||
|
@Formula("price * quantity")
|
||||||
|
@Formula("SEQURE_RAND(quantity)")
|
||||||
|
@Formula("(select count(*) from FORMULA_TABLE f where f.price < price)")
|
||||||
|
|||||||
16
pl/java/libfws/spring/data/jpa/features/metamodel.txt
Обычный файл
16
pl/java/libfws/spring/data/jpa/features/metamodel.txt
Обычный файл
@ -0,0 +1,16 @@
|
|||||||
|
https://projectlombok.org/features/experimental/FieldNameConstants
|
||||||
|
|
||||||
|
https://habr.com/ru/companies/magnit/articles/814573/
|
||||||
|
|
||||||
|
ext {
|
||||||
|
jpamodelgenVersion = '6.4.4.Final'
|
||||||
|
}
|
||||||
|
|
||||||
|
implementation "org.hibernate:hibernate-jpamodelgen:${jpamodelgenVersion}"
|
||||||
|
annotationProcessor "org.hibernate:hibernate-jpamodelgen:${jpamodelgenVersion}"
|
||||||
|
|
||||||
|
sourceSets.main.java.srcDirs += layout.buildDirectory.dir("/generated")
|
||||||
|
|
||||||
|
compileJava {
|
||||||
|
options.generatedSourceOutputDirectory = layout.buildDirectory.dir("/generated")
|
||||||
|
}
|
||||||
@ -1,3 +1,7 @@
|
|||||||
|
https://docs.spring.io/spring-framework/reference/data-access/transaction/programmatic.html
|
||||||
|
TransactionTemplate
|
||||||
|
TransactionalOperator
|
||||||
|
|
||||||
https://docs.oracle.com/javaee/7/api/javax/persistence/LockModeType.html
|
https://docs.oracle.com/javaee/7/api/javax/persistence/LockModeType.html
|
||||||
READ, OPTIMISTIC, (obtains an optimistic read lock for all entities containing a version attribute)
|
READ, OPTIMISTIC, (obtains an optimistic read lock for all entities containing a version attribute)
|
||||||
persistence provider will prevent our data from dirty reads as well as non-repeatable reads.
|
persistence provider will prevent our data from dirty reads as well as non-repeatable reads.
|
||||||
@ -41,6 +45,8 @@ https://www.linkedin.com/pulse/implementing-optimistic-pessimistic-locking-sprin
|
|||||||
adv, disadv
|
adv, disadv
|
||||||
https://github.com/csdavidg/db-locking-poc
|
https://github.com/csdavidg/db-locking-poc
|
||||||
2022
|
2022
|
||||||
|
https://habr.com/ru/articles/682362/
|
||||||
|
https://www.marcobehler.com/guides/spring-transaction-management-transactional-in-depth
|
||||||
https://vladmihalcea.com/spring-transaction-best-practices/
|
https://vladmihalcea.com/spring-transaction-best-practices/
|
||||||
https://vladmihalcea.com/read-write-read-only-transaction-routing-spring/
|
https://vladmihalcea.com/read-write-read-only-transaction-routing-spring/
|
||||||
https://vladmihalcea.com/spring-data-jpa-locking/
|
https://vladmihalcea.com/spring-data-jpa-locking/
|
||||||
@ -117,5 +123,8 @@ https://hackernoon.com/optimistic-and-pessimistic-locking-in-jpa
|
|||||||
2021
|
2021
|
||||||
https://habr.com/ru/company/otus/blog/574470/
|
https://habr.com/ru/company/otus/blog/574470/
|
||||||
spring transactional errors
|
spring transactional errors
|
||||||
|
2020
|
||||||
|
https://habr.com/ru/articles/532000/
|
||||||
|
!!! like a ref-ce
|
||||||
2017
|
2017
|
||||||
https://habr.com/ru/articles/325470/
|
https://habr.com/ru/articles/325470/
|
||||||
|
|||||||
2
pl/java/libfws/spring/data/jpa/tools/mihalcea-flexypool.txt
Обычный файл
2
pl/java/libfws/spring/data/jpa/tools/mihalcea-flexypool.txt
Обычный файл
@ -0,0 +1,2 @@
|
|||||||
|
https://github.com/vladmihalcea/flexy-pool
|
||||||
|
implementation 'com.vladmihalcea.flexy-pool:flexy-pool-parent:2.2.3'
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
https://github.com/gavlyukovskiy/spring-boot-data-source-decorator
|
||||||
|
|
||||||
|
decorator.datasource.datasource-proxy.slow-query.enable-logging=true
|
||||||
|
decorator.datasource.datasource-proxy.slow-query.log-level=warn
|
||||||
|
decorator.datasource.datasource-proxy.slow-query.logger-name=
|
||||||
|
# Number of seconds to consider query as slow and log it
|
||||||
|
decorator.datasource.datasource-proxy.slow-query.threshold=300
|
||||||
|
|
||||||
|
decorator.datasource.datasource-proxy.multiline=true
|
||||||
Загрузка…
x
Ссылка в новой задаче
Block a user