{"id":15196872,"url":"https://github.com/rameshmf/spring-data-jpa-tutorial","last_synced_at":"2025-10-28T04:31:29.629Z","repository":{"id":99534993,"uuid":"155533344","full_name":"RameshMF/spring-data-jpa-tutorial","owner":"RameshMF","description":"Guide to spring data jpa","archived":false,"fork":false,"pushed_at":"2018-11-15T07:43:23.000Z","size":62,"stargazers_count":17,"open_issues_count":0,"forks_count":16,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T11:24:41.233Z","etag":null,"topics":["jpa","spring-boot","spring-data-jpa","spring-framework"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RameshMF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-31T09:44:24.000Z","updated_at":"2024-02-15T11:11:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"7fdd3adc-e31d-4bdc-a002-e81c6247f504","html_url":"https://github.com/RameshMF/spring-data-jpa-tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RameshMF%2Fspring-data-jpa-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RameshMF%2Fspring-data-jpa-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RameshMF%2Fspring-data-jpa-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RameshMF%2Fspring-data-jpa-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RameshMF","download_url":"https://codeload.github.com/RameshMF/spring-data-jpa-tutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238597386,"owners_count":19498396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jpa","spring-boot","spring-data-jpa","spring-framework"],"created_at":"2024-09-28T00:05:16.449Z","updated_at":"2025-10-28T04:31:25.459Z","avatar_url":"https://github.com/RameshMF.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003c/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003c/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003c/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003c/div\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003cspan style=\"font-family: inherit;\"\u003e\u003ca href=\"http://www.javaguides.net/2018/11/spring-data-jpa-tutorial-getting-started.html\" target=\"_blank\"\u003eSpring Data JPA Tutorial - Getting Started\u003c/a\u003e\u0026nbsp;- This article provides a quick introduction to Spring Data JPA. It also describes all the important interfaces of Spring data commons and Spring Data JPA - Repository, CrudRepository, PagingAndSortingRepository, QueryDslPredicateExecutor, JpaRepository, JpaSpecificationExecutor\u003c/span\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003cspan style=\"font-family: inherit;\"\u003e\u003ca href=\"http://www.javaguides.net/2018/11/spring-data-jpa-tutorial-java-based-configuration.html\" target=\"_blank\"\u003eSpring Data JPA Tutorial - Java Based Configuration\u003c/a\u003e\u0026nbsp;- This post describes a complete\u0026nbsp;example of how to configure Spring Data JPA with hibernate using Java-based configuration.\u003c/span\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003cspan style=\"font-family: inherit;\"\u003e\u003ca href=\"http://www.javaguides.net/2018/11/spring-data-jpa-query-creation-from-method-names.html\" target=\"_blank\"\u003eSpring Data JPA - Query Creation from Method Names\u003c/a\u003e\u0026nbsp;- In this article, we will learn how we can create query methods by using the query generation from the method name strategy. We will demonstrate this with a complete end-to-end example using Spring boot.\u003c/span\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003cspan style=\"font-family: inherit;\"\u003e\u003ca href=\"http://www.javaguides.net/2018/11/spring-data-jpa-namedquery-and-namedqueries-example.html\" target=\"_blank\"\u003eSpring Data JPA - Creating Database Queries With Named Queries\u003c/a\u003e\u0026nbsp;- \u003cspan style=\"background-color: white; font-size: 16px;\"\u003eIn this article, w\u003c/span\u003e\u003cspan style=\"background-color: white; color: #24292e; font-size: 16px;\"\u003ee will learn to create database queries by using named queries. We will demonstrate this with a complete end-to-end example using Spring boot.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003cspan style=\"background-color: white;\"\u003e\u003cspan style=\"font-family: inherit;\"\u003e\u003ca href=\"http://www.javaguides.net/2018/11/spring-data-jpa-namednativequery-namednativequeries-example.html\" target=\"_blank\"\u003eSpring Data JPA @NamedNativeQuery and @NamedNativeQueries Example\u003c/a\u003e\u003cspan style=\"color: #24292e;\"\u003e\u0026nbsp;- In this article, we will learn how to create database queries using \u003cb\u003e@NamedNativeQuery\u003c/b\u003e and \u003cb\u003e@NamedNativeQueries\u003c/b\u003e annotations. These annotations let you define the query in native SQL by losing the database platform independence.\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003cspan style=\"background-color: white;\"\u003e\u003cspan style=\"color: #24292e;\"\u003e\u003ca href=\"http://www.javaguides.net/2018/11/spring-data-jpa-creating-database-queries-using-query-annotation.html\" style=\"font-family: inherit;\" target=\"_blank\"\u003eSpring Data JPA - Creating Database Queries using @Query Annotation\u003c/a\u003e\u003cspan style=\"font-family: inherit;\"\u003e\u0026nbsp;- \u003c/span\u003eThis blog post describes how to create database queries using the @Query annotation.\u003c/span\u003e\u003c/span\u003e We will demonstrate this with a complete end-to-end example using Spring boot.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.javaguides.net/2018/09/spring-data-jpa-auditing-with-spring-boot2-and-mysql-example.html\" target=\"_blank\"\u003eSpring Data JPA - Auditing with Spring Boot 2 and MySQL Example\u003c/a\u003e\u0026nbsp;-\u0026nbsp;In this article, we will discuss how can we configure JPA to automatically persist the \u003ci\u003eCreatedBy\u003c/i\u003e, \u003ci\u003eCreatedDate\u003c/i\u003e, \u003ci\u003eLastModifiedBy\u003c/i\u003e, and \u003ci\u003eLastModifiedDate\u003c/i\u003e columns for any entity. We will create a simple Spring Boot CRUD REST APIs and we implement auditing using spring data JPA.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.javaguides.net/2018/09/spring-boot-jpa-multiple-data-sources-example.html\" target=\"_blank\"\u003eSpring Data JPA - Working with Multiple Datasources using Spring Boot\u003c/a\u003e\u0026nbsp;-\u0026nbsp;\u0026nbsp;In this article, we will learn how to configure multiple data sources and connect to multiple databases in a typical Spring Boot web application. We will use Spring Boot, JPA, Hibernate 5, Thymeleaf and H2 database to build a simple Spring Boot multiple data sources web application.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.javaguides.net/2018/09/spring-data-jpa-repository-testing-using-spring-boot-datajpatest.html\" target=\"_blank\"\u003eSpring Data JPA Repository Testing using Spring Boot @DataJpaTest\u003c/a\u003e\u0026nbsp;-\u0026nbsp;In this article, we will learn how to test Spring Data JPA Repositories using Spring Boot provided \u003ci\u003e@DataJpaTest\u003c/i\u003e annotation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"https://www.baeldung.com/spring-data-java-8\" target=\"_blank\"\u003eSpring Data Java 8 Support\u003c/a\u003e\u0026nbsp;- Spring Data now supports core Java 8 features – such as Optional, Stream API and CompletableFuture. In this quick article, we’ll go through some examples of how we can use these with the framework.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"https://www.baeldung.com/spring-data-annotations\" target=\"_blank\"\u003eSpring Data Annotations\u003c/a\u003e\u0026nbsp;-\u0026nbsp;In this tutorial, we’ll see the most common annotations of the Spring Data, Spring Data JPA, and Spring Data MongoDB projects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv\u003e\n\u003ch2 style=\"background-color: white; border-bottom: 1px solid rgb(234, 236, 239); box-sizing: border-box; color: #24292e; line-height: 1.25; margin-bottom: 1pc; margin-top: 24px; padding-bottom: 0.3em;\"\u003e\nBasic Spring Data JPA Flow\u003c/h2\u003e\n\u003c/div\u003e\n\u003cdiv\u003e\nOnce you completed reading above all articles then let's\u0026nbsp;understand basic flow at the time of accessing the database using Spring Data JPA is shown below.\u003c/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\u003c/div\u003e\n\u003cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003e\n\u003ca href=\"https://2.bp.blogspot.com/-EebmrWpAqO4/W9vzgI61vtI/AAAAAAAAEkw/Kb5YL-e8Ja8ENTWx445hvovrwTlpo3iGACLcBGAs/s1600/dataaccess_jpa_basic_flow.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg border=\"0\" data-original-height=\"852\" data-original-width=\"927\" src=\"https://2.bp.blogspot.com/-EebmrWpAqO4/W9vzgI61vtI/AAAAAAAAEkw/Kb5YL-e8Ja8ENTWx445hvovrwTlpo3iGACLcBGAs/s1600/dataaccess_jpa_basic_flow.png\"\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\u003c/div\u003e\n\u003cdiv\u003e\n\u003ctable border=\"1\" class=\"colwidths-given longtable docutils\" style=\"background-color: white; border-collapse: collapse; border: 0px; color: #002b36; font-family: \u0026quot;Open Sans\u0026quot;, sans-serif; font-size: 14px; margin: 0px -0.5em;\"\u003e\u003cthead valign=\"bottom\"\u003e\n\u003ctr class=\"row-odd\"\u003e\u003cth class=\"head\" style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px; text-align: left;\"\u003eSr.No.\u003c/th\u003e\u003cth class=\"head\" style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px; text-align: left;\"\u003eDescription\u003c/th\u003e\u003c/tr\u003e\n\u003c/thead\u003e\u003ctbody valign=\"top\"\u003e\n\u003ctr class=\"row-even\"\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\n(1)\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\nCall the method of \u003ci\u003eRepository\u003c/i\u003e interface from Service.\u003c/div\u003e\n\u003cdiv class=\"line\"\u003e\nEntity object, Entity ID etc. are passed as method calling parameters. In the above example, the entity is passed, however, a primitive value can also be passed.\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr class=\"row-odd\"\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\n(2)\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\nA proxy class which dynamically implements \u003ci\u003eRepository\u003c/i\u003e interface delegates the process to\u0026nbsp;\u003ccode class=\"docutils literal\" style=\"background-color: #eeeff2; font-family: \u0026quot;Source Code Pro\u0026quot;, monospace; font-size: 0.9em; letter-spacing: 0.01em;\"\u003e\u003cspan class=\"pre\" style=\"hyphens: none;\"\u003eorg.springframework.data.jpa.repository.support.SimpleJpaRepository\u003c/span\u003e\u003c/code\u003e\u0026nbsp;or custom Repository class.\u003c/div\u003e\n\u003cdiv class=\"line\"\u003e\nParameters specified by Service are passed.\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr class=\"row-even\"\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\n(3)\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\nRepository implementation class calls JPA APIs.\u003c/div\u003e\n\u003cdiv class=\"line\"\u003e\nThe parameters specified by Service and the parameters generated by the implementation class of the \u003ci\u003eRepository\u003c/i\u003e are passed.\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr class=\"row-odd\"\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\n(4)\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\nHibernate JPA reference implementation calls the Hibernate core APIs.\u003c/div\u003e\n\u003cdiv class=\"line\"\u003e\nThe parameters specified by the implementation class of the \u003ci\u003eRepository\u003c/i\u003e and the parameters generated by Hibernate JPA reference implementation are passed.\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr class=\"row-even\"\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\n(5)\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\nHibernate Core API generates SQL and bind values from the specified parameters and passes to JDBC driver.\u003c/div\u003e\n\u003cdiv class=\"line\"\u003e\n(API of java.sql.PreparedStatement is used for binding the actual values.)\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr class=\"row-odd\"\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\n(6)\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003ctd style=\"border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-left-color: initial; border-left-style: initial; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px; padding: 1px 8px 1px 5px;\"\u003e\u003cdiv class=\"first last line-block\" style=\"margin-bottom: 1em; margin-top: 1em;\"\u003e\n\u003cdiv class=\"line\"\u003e\nJDBC driver executes SQL.\u003c/div\u003e\n\u003c/div\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\u003c/div\u003e\n\u003ch2 style=\"background-color: white; border-bottom: 1px solid rgb(234, 236, 239); box-sizing: border-box; color: #24292e; line-height: 1.25; margin-bottom: 1pc; margin-top: 24px; padding-bottom: 0.3em;\"\u003e\nUseful Resources and Links\u003c/h2\u003e\n\u003cspan style=\"color: red;\"\u003eThis section showcases useful material created by other developers. If you have written a blog post or recorded a video about Spring Data JPA, and want to include it to this section, do comment and I will check it out. If I think that it is useful, I will add it to this section.\u003c/span\u003e\u003cbr\u003e\n\u003ch3 style=\"text-align: left;\"\u003e\nReference Manuals and Official Guides\u003c/h3\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"https://docs.spring.io/spring-data/jpa/docs/current/reference/html/\" target=\"_blank\"\u003eSpring Data JPA - Reference Documentation\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.spring.io/spring-data/jpa/docs/current/api/\" target=\"_blank\"\u003eSpring Data JPA API (Java Doc)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://spring.io/projects/spring-data\" target=\"_blank\"\u003eSpring Data (Part of Spring Framework Project)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.spring.io/spring-data/rest/docs/current/api/\" target=\"_blank\"\u003eSpring Data Rest API JavaDocs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://spring.io/guides/gs/accessing-data-jpa/\" target=\"_blank\"\u003eAccessing Data with JPA\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 style=\"text-align: left;\"\u003e\nBlog Posts/Articles\u003c/h3\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"https://www.baeldung.com/spring-data-java-8\" target=\"_blank\"\u003eSpring Data Java 8 Support\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-part-six-sorting/\" target=\"_blank\"\u003eSpring Data JPA Tutorial: Sorting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-part-seven-pagination/\" target=\"_blank\"\u003eSpring Data JPA Tutorial: Pagination\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-integration-testing/\" target=\"_blank\"\u003eSpring Data JPA Tutorial: Integration Testing\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-part-eight-adding-functionality-to-a-repository/\" target=\"_blank\"\u003eSpring Data JPA Tutorial: Adding Custom Methods to a Single Repository\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv\u003e\n\u003ch2 style=\"background-color: white; border-bottom: 1px solid rgb(234, 236, 239); box-sizing: border-box; color: #24292e; line-height: 1.25; margin-bottom: 1pc; margin-top: 24px; padding-bottom: 0.3em;\"\u003e\nTop J2EE Tutorials\u003c/h2\u003e\n\u003c/div\u003e\n\u003cblockquote class=\"tr_bq\"\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.javaguides.net/search/label/Spring%20MVC%20Tutorial\"\u003eSpring MVC 5 Tutorial\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.javaguides.net/p/spring-core-tutorial.html\"\u003eSpring Core 5 Tutorial\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.javaguides.net/p/spring-boot-tutorial.html\"\u003eSpring Boot 2 Tutorial\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.javaguides.net/p/maven.html\"\u003eApache Maven Tutorial\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.javaguides.net/2018/09/jax-rs-tutorial.html\"\u003eJAX-RS Tutorial\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.javaguides.net/p/jersey-rest.html\"\u003eJersey Rest Tutorial\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul style=\"text-align: left;\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.javaguides.net/p/spring-framework.html\"\u003eSpring Framework 5\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frameshmf%2Fspring-data-jpa-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frameshmf%2Fspring-data-jpa-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frameshmf%2Fspring-data-jpa-tutorial/lists"}