Spring Data JPA: Ultimate Guide to Custom Queries with @Query Annotation
Вставка
- Опубліковано 24 вер 2019
- In this video, I will show you how to define and use custom queries with Spring Data JPA. You will learn how to execute JPQL and native queries, use an expression language in your queries and execute queries that INSERT, UPDATE, or REMOVE records.
But before we start, if this is your first time here, and you want to learn how to create your entity mappings with ease, build incredible efficient persistence layers with Hibernate and all types of other Java persistence related stuff, start now by subscribing and clicking the bell, so you don't miss anything.
Derived queries are very comfortable to use as long as the queries are not too complicated. But as soon as you use more than 2-3 query parameters or need to define multiple joins to other entities, you need a more flexible approach. In these situations, you better use Spring Data JPA’s @Query annotation to specify a custom JPQL or native SQL query.
If you like this video, please give me your thumbs up and share it with your friends and co-workers.
Like my channel? Subscribe!
➜ bit.ly/2cUsid8
Join the free Member Library:
goo.gl/dtyIIC
Read the accompanying post: thoughts-on-java.org/spring-d...
Want to connect with me?
Blog: www.thoughts-on-java.org/
Twitter: / thjanssen123
Facebook: / thoughtsonjava
#JPA #Spring - Наука та технологія
Your instructions are clear and short👍. Thank you!
Best videos about JPA- thanks for making them!!
Your videos are really helpful. Thank you very much.
thank you for sharing your knowledge !
Thank you Thorben! Very well explained and pretty clear about each concept!
Thanks
Your videos are good, this deserves more likes and views.
thank you, grettings from chile
Thank you so much, this video helped a lot
That was precise.
thank u so much!
Very well explanation, could you please provide the link for Guide to JPQL Query?
How do you use a list parameter with columns that you want to select? I tried something like "select ?3 from products where category = ?1 and status = ?2" . And ?3 is a List with the columns that I want to select... but it does not work...
The best videos about spring and jpa, really well organized and explained, pure gold thank you
You prolly dont care but does anyone know of a method to get back into an Instagram account..?
I was stupid lost the password. I would appreciate any assistance you can give me!
@Manuel Kyle instablaster :)
@Jagger Owen I really appreciate your reply. I found the site through google and I'm in the hacking process now.
Takes a while so I will get back to you later with my results.
@Jagger Owen it did the trick and I actually got access to my account again. Im so happy!
Thank you so much you saved my account!
@Manuel Kyle You are welcome :)
when we bind parameters in case of my parameter is an object how can I bind one property of the object inside query. can I access it with dot notation
0:00 Intro
1:42 JPQL Queries
4:18 Sorting
5:52 Paginating Query Results
6:49 SpEL Expressions for Entity Names & Advabced Like Expressions
8:24 Native Queries
9:53 Parameter Handling
12:13 Modifying Queries
13:00 Conclusion
14:25 Thoughts on Java Library
While updating or altering the table with paramerter , spring jpa add extra quotes in query " ' " this single quote help
Thanks
insert is possible here? I'm looking for insertion
Great video.
May i know how to reference the fields declared indide the entity using SPeL.
It will be really helpful.
can we do "select into" query in @Query ?
hey, this is very good content, but the link provided for accessing the free java thoughts materials is not working, could I get those materials?
Thanks again!
How to index pdf content by using spring-data?
We will really appreciate if some one can answer this question.
if you wanna insert use this:
@Modifying
@Query(value = "insert into author(first_name, last_name, version) values(?#{#author.firstName}, ?#{#author.lastName}, ?#{#author.version})",nativeQuery = true)
void insert(@Param("author") Author author); //SpEL Expressions
You have to use @Modifying
and maybe @Transactional. There is another method to insert and it's the EntityManager.
how do you do a left join with that? Thank you. With to related entities with a one to one relationship
You can use all features of JPQL in your custom query. LEFT JOIN is one of them. Find out more here: thorben-janssen.com/jpql/
How can we select few columns in @Query annotations and return the list of entities with only those specific columns as JSON. (Not all values of entity)
Hi Senthil,
you can only select an entity with all its attributes. If you want to select a subset, you need to use a DTO projection.
I explain that in this video: ua-cam.com/video/IPRfz97-NqA/v-deo.html
In the video, I only use Hibernate without Spring Data JPA. But you can apply the same approach using Spring.
Regards,
Thorben
@@ThoughtsOnJava thanks for the response. Is any other way available by without creating another pojo class ?
Guten Tag Janssen ! Can you give a hint on how to write a JPQL queries when the WHERE close contains objects (Ex: SELECT * FROM USERS WHERE userBooks.count(*) > 10)
Is userBooks a managed association?
If it is, you could use the size function to count the elements in it, e.g.: SELECT u FROM Users WHERE SIZE(u.userBooks) > 10
@@ThoughtsOnJava Thank you very much for your reply.
Could u please help me on thi
Caused by: java.lang.IllegalArgumentException: Can't compare test expression of type [CommodityEntity] with element of type [BasicSqmPathSource(materialId : Long)]
12:06 It seems that named bind parameters are flipped.
Could you please provide oracle r2dbc video series
I think there's a small error there @ 12:00?
@Param("lastName") String firstName, @Param("firstName") String lastName
Assuming it should be:
@Param("firstName") String firstName, @Param("lastName") String lastName
But no customized delete option in the query
How Spring Data JPA Native Querry worked with SELECT FOR UPDATE SKIP LOCKED ?
Hi Video is too good pls provide github link for source code
WHAT ABOUT INSERTS ?
what about @restresource
Why does spring try to overtake the industry? I don’t like
There is no complex query
Thanks for the content ! how write jUnit test of class with enum properties. Like
public interface HouseRepository extends PagingAndSortingRepository {
Page findByHouseTypeContaining(HouseType houseType, Pageable pageable);
}
@Entity(name = "house")
public class House {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "house_sequence")
@SequenceGenerator(name = "house_sequence",sequenceName = "house_sequence",allocationSize = 1)
private Long id;
@Enumerated(STRING)
private HouseType houseType;