{"version":"1.0","provider_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","provider_url":"https:\/\/fatihsoysal.com\/blog","author_name":"Fatih Soysal","author_url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/","title":"Spring Boot'ta Spring Data Envers ile Verimli Denetim","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"3U3TGqOxav\"><a href=\"https:\/\/fatihsoysal.com\/blog\/spring-bootta-spring-data-envers-ile-verimli-denetim\/\">Spring Boot&#8217;ta Spring Data Envers ile Verimli Denetim<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/fatihsoysal.com\/blog\/spring-bootta-spring-data-envers-ile-verimli-denetim\/embed\/#?secret=3U3TGqOxav\" width=\"600\" height=\"338\" title=\"&#8220;Spring Boot&#8217;ta Spring Data Envers ile Verimli Denetim&#8221; &#8212; Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" data-secret=\"3U3TGqOxav\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","description":"Merhaba! Bu makalede, Spring Boot uygulamalar\u0131n\u0131zda Spring Data Envers kullanarak nas\u0131l verimli bir denetim (audit) sistemi kurabilece\u011finizi ad\u0131m ad\u0131m g\u00f6sterece\u011fim. Spring Data Envers, JPA tabanl\u0131 uygulamalar\u0131n\u0131zda veri de\u011fi\u015fikliklerini otomatik olarak izleyen ve ge\u00e7mi\u015f s\u00fcr\u00fcmlerini saklayan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu sayede, verilerinizin zaman i\u00e7indeki de\u011fi\u015fimlerini kolayca takip edebilir ve gerekti\u011finde \u00f6nceki s\u00fcr\u00fcmlere geri d\u00f6nebilirsiniz. \u00d6ncelikle, neden denetim mekanizmalar\u0131na ihtiyac\u0131m\u0131z oldu\u011funu ve Spring Data Envers'in bu konuda nas\u0131l yard\u0131mc\u0131 oldu\u011funu inceleyelim. Sonras\u0131nda ise, uygulamal\u0131 bir \u00f6rnek \u00fczerinde konuyu peki\u015ftirece\u011fiz."}