{"id":250,"date":"2020-08-11T20:06:43","date_gmt":"2020-08-11T20:06:43","guid":{"rendered":"https:\/\/www.kindsonthegenius.com\/spring-boot\/?p=250"},"modified":"2020-08-11T20:06:43","modified_gmt":"2020-08-11T20:06:43","slug":"complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile","status":"publish","type":"post","link":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/","title":{"rendered":"Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile)"},"content":{"rendered":"<p>In this part, we would see how we can reconcile the User Profile and the Employee Profile.<\/p>\n<p>If you are new to this series:<\/p>\n<p><a href=\"https:\/\/www.kindsonthegenius.com\/spring-boot\/build-a-complete-spring-boot-application-from-the-scratch-step-by-step\/\" target=\"_blank\" rel=\"noopener\">Start from Part 1 here<\/a><\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=c4mv4N6i3Jc&amp;list=PL9l1zUfnZkZkmDvzHCoLlc_nHBc7ZXiRO\" target=\"_blank\" rel=\"noopener\">Get all Video Tutorials here<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>This is important because, if you are building application that holds employee data, then you remember this rule of thumb. It says:<\/p>\n<p>&#8220;not all Users are Employees and not all Employees are Users&#8221;<\/p>\n<p>Based on this, we have two separate entities: User and Employee. However, both entities relate in some way. This relationship is based on &#8220;Business Rules&#8221;. We&#8217;ll talk about details of this later. But for now, we&#8217;ll used the following rules:<\/p>\n<ul>\n<li>an employee could later become a user<\/li>\n<li>user profile of employees are created based on their firstname and lastname<\/li>\n<\/ul>\n<p>Let&#8217;s now follows the steps below to reconcile the User profile and Employee profile. The idea is to be able to check if an employee have a user profile. If yes, then update the username field of the employee table.<\/p>\n<p><strong>Step 1:<\/strong> Extend the UserRepository to find a User by firstname and lastname. The method is given below:<\/p>\n<pre style=\"margin: 0; line-height: 125%;\">User <span style=\"color: #0066bb; font-weight: bold;\">findByFirstnameAndLastname<\/span><span style=\"color: #333333;\">(<\/span>String firstname<span style=\"color: #333333;\">,<\/span> String lastname<span style=\"color: #333333;\">):<\/span>\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Step 2:<\/strong> Write the EmployeeService method to find User by firstname and lastname:<\/p>\n<pre style=\"margin: 0; line-height: 125%;\"><span style=\"color: #888888;\">\/\/Set the Username of the employee where firstname and lastname match<\/span>\r\n<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #333399; font-weight: bold;\">void<\/span> <span style=\"color: #0066bb; font-weight: bold;\">assignUsername<\/span><span style=\"color: #333333;\">(<\/span><span style=\"color: #333399; font-weight: bold;\">int<\/span> id<span style=\"color: #333333;\">){<\/span>\r\n\tEmployee employee <span style=\"color: #333333;\">=<\/span> employeeRepository<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">findById<\/span><span style=\"color: #333333;\">(<\/span>id<span style=\"color: #333333;\">).<\/span><span style=\"color: #0000cc;\">orElse<\/span><span style=\"color: #333333;\">(<\/span><span style=\"color: #008800; font-weight: bold;\">null<\/span><span style=\"color: #333333;\">);<\/span>\r\n\tUser user <span style=\"color: #333333;\">=<\/span> userRepository<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">findByFirstnameAndLastname<\/span><span style=\"color: #333333;\">(<\/span>\r\n\t\t\temployee<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">getFirstname<\/span><span style=\"color: #333333;\">(),<\/span>\r\n\t\t\temployee<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">getLastname<\/span><span style=\"color: #333333;\">());<\/span>\r\n\temployee<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">setUsername<\/span><span style=\"color: #333333;\">(<\/span>user<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">getUsername<\/span><span style=\"color: #333333;\">());<\/span>\r\n\temployeeRepository<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">save<\/span><span style=\"color: #333333;\">(<\/span>employee<span style=\"color: #333333;\">);<\/span>\r\n<span style=\"color: #333333;\">}<\/span>\r\n<\/pre>\n<p><strong>Step 3:<\/strong> Write the Controller method:<\/p>\n<pre style=\"margin: 0; line-height: 125%;\"><span style=\"color: #888888;\">\/\/Assign Employee Username<\/span>\r\n<span style=\"color: #555555; font-weight: bold;\">@RequestMapping<\/span><span style=\"color: #333333;\">(<\/span>value <span style=\"color: #333333;\">=<\/span> <span style=\"background-color: #fff0f0;\">\"\/employees\/assignUsername\"<\/span><span style=\"color: #333333;\">)<\/span>\r\n<span style=\"color: #008800; font-weight: bold;\">public<\/span>  String <span style=\"color: #0066bb; font-weight: bold;\">assignUsername<\/span><span style=\"color: #333333;\">(<\/span><span style=\"color: #333399; font-weight: bold;\">int<\/span> id<span style=\"color: #333333;\">){<\/span>\r\n\temployeeService<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">assignUsername<\/span><span style=\"color: #333333;\">(<\/span>id<span style=\"color: #333333;\">);<\/span>\r\n\t<span style=\"color: #008800; font-weight: bold;\">return<\/span> <span style=\"background-color: #fff0f0;\">\"redirect:\/employees\"<\/span><span style=\"color: #333333;\">;<\/span>\r\n<span style=\"color: #333333;\">}<\/span>\r\n<\/pre>\n<p>We now want to adjust the employee html table in this way: if the employee already have a user profile, then the username is displayed, else the word check is displayed. This would be a link such that if clicked would updated the employee&#8217;s username. See figure below:<\/p>\n<p><a href=\"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-content\/uploads\/sites\/7\/2020\/08\/Check-if-employee-has-a-use-profile.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-252 \" src=\"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-content\/uploads\/sites\/7\/2020\/08\/Check-if-employee-has-a-use-profile.png\" alt=\"Check if employee has a use profile\" width=\"598\" height=\"239\" srcset=\"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-content\/uploads\/sites\/7\/2020\/08\/Check-if-employee-has-a-use-profile.png 746w, https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-content\/uploads\/sites\/7\/2020\/08\/Check-if-employee-has-a-use-profile-300x120.png 300w\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Step 4:<\/strong> In the html table, add one more column in the table header. Then add the column in the table body as well:<\/p>\n<pre style=\"margin: 0; line-height: 125%;\"><span style=\"color: #007700;\">&lt;td&gt;&lt;a<\/span> <span style=\"color: #0000cc;\">th:text=<\/span><span style=\"background-color: #fff0f0;\">\"${employee.username} ?: 'Check'\"<\/span> <span style=\"color: #0000cc;\">th:href=<\/span><span style=\"background-color: #fff0f0;\">\"@{\/employees\/assignUsername\/(id=${employee.id})}\"<\/span><span style=\"color: #007700;\">&gt;&lt;\/a&gt;&lt;\/td&gt;<\/span>\r\n<\/pre>\n<p>At this point, you can run the application to ensure everything works well.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Solving the Edit Issue<\/strong><\/p>\n<p>This issue arise from the fact that the username is not available in the edit form. Therefore, when the form is edited, null value is assigned to the username. Also note that the thumbnail disappears as well since the thumbnails image is named as the username.<\/p>\n<p>One way to solve this issue is to add the username field in the edit form. Possibly as a hidden field since we don&#8217;t want users to edit it. Or maybe a readonly field. I&#8217;ll leave this as a homework for you to do.<\/p>\n<p>Html markup:<\/p>\n<pre style=\"margin: 0; line-height: 125%;\"> <span style=\"color: #007700;\">&lt;input<\/span> <span style=\"color: #0000cc;\">type=<\/span><span style=\"background-color: #fff0f0;\">\"hidden\"<\/span> <span style=\"color: #0000cc;\">id=<\/span><span style=\"background-color: #fff0f0;\">\"txtUsernameEdit\"<\/span> <span style=\"color: #0000cc;\">name=<\/span><span style=\"background-color: #fff0f0;\">\"username\"<\/span><span style=\"color: #007700;\">&gt;<\/span>\r\n<\/pre>\n<p>JavaScripts code:<\/p>\n<pre style=\"margin: 0; line-height: 125%;\">$(<span style=\"background-color: #fff0f0;\">'#txtUsernameEdit'<\/span>).val(employee.username);\r\n<\/pre>\n<p>Let me know if you have issues<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>In this part, we would see how we can reconcile the User Profile and the Employee Profile. If you are new to this series: Start &hellip; <!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":254,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-250","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spring-boot-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile) - Learn Spring Boot<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile) - Learn Spring Boot\" \/>\n<meta property=\"og:description\" content=\"In this part, we would see how we can reconcile the User Profile and the Employee Profile. If you are new to this series: Start &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/\" \/>\n<meta property=\"og:site_name\" content=\"Learn Spring Boot\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-11T20:06:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-content\/uploads\/sites\/7\/2020\/08\/Part-46-User-Profile-vs-Employee-Profile.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2212\" \/>\n\t<meta property=\"og:image:height\" content=\"1295\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"kindsonthegenius\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"kindsonthegenius\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/\"},\"author\":{\"name\":\"kindsonthegenius\",\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/#\\\/schema\\\/person\\\/7f8fc5792578d2ff54003fcebe6c46b5\"},\"headline\":\"Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile)\",\"datePublished\":\"2020-08-11T20:06:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/\"},\"wordCount\":410,\"commentCount\":10,\"image\":{\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/2020\\\/08\\\/Part-46-User-Profile-vs-Employee-Profile.jpg\",\"articleSection\":[\"Spring Boot Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/\",\"url\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/\",\"name\":\"Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile) - Learn Spring Boot\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/2020\\\/08\\\/Part-46-User-Profile-vs-Employee-Profile.jpg\",\"datePublished\":\"2020-08-11T20:06:43+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/#\\\/schema\\\/person\\\/7f8fc5792578d2ff54003fcebe6c46b5\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/2020\\\/08\\\/Part-46-User-Profile-vs-Employee-Profile.jpg\",\"contentUrl\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/2020\\\/08\\\/Part-46-User-Profile-vs-Employee-Profile.jpg\",\"width\":2212,\"height\":1295},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/#website\",\"url\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/\",\"name\":\"Learn Spring Boot\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/#\\\/schema\\\/person\\\/7f8fc5792578d2ff54003fcebe6c46b5\",\"name\":\"kindsonthegenius\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b9d710de456c3d85e5614c3a6992fa3d527425e2ab32b8bd5d85bfbaa235004b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b9d710de456c3d85e5614c3a6992fa3d527425e2ab32b8bd5d85bfbaa235004b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b9d710de456c3d85e5614c3a6992fa3d527425e2ab32b8bd5d85bfbaa235004b?s=96&d=mm&r=g\",\"caption\":\"kindsonthegenius\"},\"url\":\"https:\\\/\\\/www.kindsonthegenius.com\\\/spring-boot\\\/author\\\/kindsonthegenius-3\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile) - Learn Spring Boot","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/","og_locale":"en_US","og_type":"article","og_title":"Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile) - Learn Spring Boot","og_description":"In this part, we would see how we can reconcile the User Profile and the Employee Profile. If you are new to this series: Start &hellip;","og_url":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/","og_site_name":"Learn Spring Boot","article_published_time":"2020-08-11T20:06:43+00:00","og_image":[{"width":2212,"height":1295,"url":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-content\/uploads\/sites\/7\/2020\/08\/Part-46-User-Profile-vs-Employee-Profile.jpg","type":"image\/jpeg"}],"author":"kindsonthegenius","twitter_card":"summary_large_image","twitter_misc":{"Written by":"kindsonthegenius","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/#article","isPartOf":{"@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/"},"author":{"name":"kindsonthegenius","@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/#\/schema\/person\/7f8fc5792578d2ff54003fcebe6c46b5"},"headline":"Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile)","datePublished":"2020-08-11T20:06:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/"},"wordCount":410,"commentCount":10,"image":{"@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-content\/uploads\/sites\/7\/2020\/08\/Part-46-User-Profile-vs-Employee-Profile.jpg","articleSection":["Spring Boot Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/","url":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/","name":"Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile) - Learn Spring Boot","isPartOf":{"@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/#primaryimage"},"image":{"@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-content\/uploads\/sites\/7\/2020\/08\/Part-46-User-Profile-vs-Employee-Profile.jpg","datePublished":"2020-08-11T20:06:43+00:00","author":{"@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/#\/schema\/person\/7f8fc5792578d2ff54003fcebe6c46b5"},"breadcrumb":{"@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/#primaryimage","url":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-content\/uploads\/sites\/7\/2020\/08\/Part-46-User-Profile-vs-Employee-Profile.jpg","contentUrl":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-content\/uploads\/sites\/7\/2020\/08\/Part-46-User-Profile-vs-Employee-Profile.jpg","width":2212,"height":1295},{"@type":"BreadcrumbList","@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/complete-application-with-spring-boot-part-6-reconcile-user-profile-and-employee-profile\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.kindsonthegenius.com\/spring-boot\/"},{"@type":"ListItem","position":2,"name":"Complete Application with Spring Boot \u2013 Part 6 (Reconcile User Profile and Employee Profile)"}]},{"@type":"WebSite","@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/#website","url":"https:\/\/www.kindsonthegenius.com\/spring-boot\/","name":"Learn Spring Boot","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.kindsonthegenius.com\/spring-boot\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.kindsonthegenius.com\/spring-boot\/#\/schema\/person\/7f8fc5792578d2ff54003fcebe6c46b5","name":"kindsonthegenius","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b9d710de456c3d85e5614c3a6992fa3d527425e2ab32b8bd5d85bfbaa235004b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b9d710de456c3d85e5614c3a6992fa3d527425e2ab32b8bd5d85bfbaa235004b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b9d710de456c3d85e5614c3a6992fa3d527425e2ab32b8bd5d85bfbaa235004b?s=96&d=mm&r=g","caption":"kindsonthegenius"},"url":"https:\/\/www.kindsonthegenius.com\/spring-boot\/author\/kindsonthegenius-3\/"}]}},"_links":{"self":[{"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/posts\/250","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/comments?post=250"}],"version-history":[{"count":3,"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/posts\/250\/revisions"}],"predecessor-version":[{"id":255,"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/posts\/250\/revisions\/255"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/media\/254"}],"wp:attachment":[{"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/media?parent=250"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/categories?post=250"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kindsonthegenius.com\/spring-boot\/wp-json\/wp\/v2\/tags?post=250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}