JPA க்கும் JDBC க்கும் என்ன வித்தியாசம்?


மறுமொழி 1:

ஜே.டி.பி.சி என்பது ஒரு தரவுத்தளத்துடன் நேரடியாக இணைப்பதற்கும் அதற்கு எதிராக SQL ஐ இயக்குவதற்கும் ஒரு நிலையான கருவியாகும், எடுத்துக்காட்டாக டேபிள்நேமில் இருந்து * ஐத் தேர்ந்தெடுக்கவும். , செருகும் நடைமுறைகள் போன்றவை. இது பெரும்பாலான ஜாவா டிபிஏ (ஜேபிஏ வழங்குநர்கள் உட்பட) பின்னால் உள்ள தொழில்நுட்பங்களில் ஒன்றாகும்.

பாரம்பரிய ஜே.டி.பி.சி பயன்பாடுகளுடனான ஒரு முக்கிய சிக்கல் என்னவென்றால், பயனருக்கு பெரும்பாலும் சில தந்திரமான குறியீட்டைக் கொண்டிருக்கலாம், அங்கு தர்க்கம் SQL உடன் கலக்கப்படுகிறது, தரவுத் தொகுப்புகள் மற்றும் பொருள்களுக்கு இடையில் நிறைய மேப்பிங் ஏற்படுகிறது.

JPA என்பது பொருள் உறவு வரைபடத்திற்கான அதிகாரப்பூர்வ கருவியாகும். JPA என்பது ஒரு தொழில்நுட்பமாகும், இது குறியீடு மற்றும் தரவுத்தள அட்டவணைகளில் உள்ள பொருட்களுக்கு இடையில் வரைபட பயனரை அனுமதிக்கிறது. JPA டெவலப்பரிடமிருந்து SQL ஐ "மறைக்க" முடியும், இதனால் அவை அனைத்தும் ஜாவா வகுப்புகளுக்குள் கையாளப்படுகின்றன, மேலும் அவற்றை சேமிக்கவும் தொலைவிலிருந்து ஏற்றவும் வழங்குநர் உங்களை அனுமதிக்கிறார். பெரும்பாலும், எக்ஸ்எம்எல் மேப்பிங் கோப்புகள் அல்லது செட்டர்கள் மற்றும் பெறுநர்கள் பற்றிய சிறுகுறிப்புகளை ஜேபிஏ வழங்குநரிடம் சொல்ல பயன்படுத்தலாம். பயனர் பொருள் வரைபடத்தில் எந்த புலங்கள் டி.பி. ஹைபர்னேட் மிகவும் பிரபலமான JPA வழங்குநராகும்.

OpenJPA, டாப்லிங்க் போன்றவை உட்பட வேறு சில எடுத்துக்காட்டுகள்.

JPA க்கான ஹைபர்னேட் மற்றும் பிற பிரபலமான வழங்குநர்கள் SQL ஐ எழுதுகிறார்கள் மற்றும் DD இலிருந்து படிக்கவும் எழுத JDBC ஐப் பயன்படுத்தவும்.

நன்றி.

நீங்கள் என் பதிலை விரும்பினால், அதை உயர்த்தவும்.


மறுமொழி 2:

நீங்கள் ஒரு தொடக்கக்காரர் என்றால் இரண்டையும் வேறுபடுத்துவது சற்று சிக்கலானதாக இருக்கும். முதலில் ஜே.டி.பி.சி மற்றும் ஹைபர்னேட்டுக்கு இடையிலான வித்தியாசத்தைப் புரிந்துகொள்வதன் மூலம் நீங்கள் தொடங்க வேண்டும் என்று நினைக்கிறேன். ஜே.டி.பி.சி என்றால் என்னவென்று உங்களுக்குத் தெரியும் என்று நம்புகிறேன், இன்னும் ஒரு விளக்கமாக: ஜே.டி.பி.சி என்பது ஜாவா தரவுத்தள இணைப்பைக் குறிக்கிறது. JDBC என்பது ஜாவா API ஆகும், இது வினவலை db உடன் இணைக்க மற்றும் செயல்படுத்துகிறது. இது db உடன் இணைக்க இயக்கிகளை வழங்குகிறது. எந்தவொரு தொடர்புடைய தரவுத்தளத்திலும் சேமிக்கப்பட்ட அட்டவணை தரவை அணுக நீங்கள் JDBC API ஐப் பயன்படுத்தலாம். JDBC API இன் உதவியால், தரவுத்தளத்திலிருந்து தரவைச் சேமிக்கலாம், புதுப்பிக்கலாம், நீக்கலாம் மற்றும் பெறலாம்.

இப்போது ஹைபர்னேட் என்றால் என்ன? இது ஜே.டி.பி.சி போலல்லாமல் ஒரு கட்டமைப்பாகும், நீங்கள் அதைப் பயன்படுத்துவதற்கு முன்பு ஹைபர்னேட் நூலகங்களை இறக்குமதி செய்ய வேண்டும், அதே நேரத்தில் ஜே.டி.பி.சி ஜே 2 எஸ்.இ யின் ஒரு பகுதியாகும். ஜே.டி.பி.சி உருவாக்கியதை ஹைபர்னேட் செய்கிறது, ஆனால் ஹைபர்னேட் ஜே.டி.பி.சியின் முன்கூட்டிய நிலை என்று நீங்கள் கூறலாம். தரவுத்தளத்துடன் தொடர்புகொள்வதற்கு ஜாவா பயன்பாட்டின் வளர்ச்சியை ஹைபர்னேட் எளிதாக்குகிறது.இது ஒரு ORM கருவி, அதாவது ஜாவா பொருள்களை db அட்டவணைகளுடன் வரைபடமாக்குகிறது. ஒரு ஜாவா வகுப்பு db இல் ஒரு அட்டவணையைக் குறிக்கலாம். உதாரணமாக, நீங்கள் "emp_26" அட்டவணையை ஹைபர்னேட்டில் பணியாளர் வகுப்பாக வரைபடமாக்கினால், அனைத்து ஊழியர்களையும் empl_26 அட்டவணையில் இருந்து பெற எளிய பொருள் சார்ந்த வினவலை எழுதுவீர்கள்: "பணியாளரிடமிருந்து" // ஹைபர்னேட்டில் "emp_26 இலிருந்து // தேர்ந்தெடுக்கவும்" // இல் JDBC க்கு.

கேடி, அசோசியேஷன்-மேப்பிங், பரம்பரை-மேப்பிங், எச்.க்யூ.எல், மண்பாண்டம் போன்ற பல அம்சங்களை ஹைபர்னேட் வழங்கும் பல அம்சங்கள் ஜே.டி.பி.சி.யில் கிடைக்கவில்லை.

JPA க்கு வருவது, இது ஒரு விவரக்குறிப்பு, இது வகுப்புகள் மற்றும் இடைமுகங்களின் தொகுப்பு. அதை செயல்படுத்த JPA க்கு ஒரு கருவி தேவை, அந்த கருவி அதற்கடுத்ததாக இருக்கலாம். JPA ஐ செயல்படுத்துவதன் மூலம், நீங்கள் ஹைபர்னேட் செய்வதைப் போலவே செய்யலாம், ஆனால் JPA இன் வடிவத்தில். JPA ஒரு நடனமாக இருந்தால், அதற்கான நடனம் அரங்கை வழங்க ஹைபர்னேட் அல்லது வேறு ஏதேனும் கருவி தேவை. JPA இல்லாமல் ஹைபர்னேட் நடனமாட முடியாது என்று அர்த்தமல்ல, ஹைபர்னேட் அதன் சொந்த நடனத்தையும் பெற்றுள்ளது.


மறுமொழி 3:

JDBC என்பது ஒரு DB உடன் நேரடியாக இணைப்பதற்கும் அதற்கு எதிராக SQL ஐ இயக்குவதற்கும் ஒரு தரமாகும் - எ.கா. பயனர்களிடமிருந்து தேர்ந்தெடுக்கவும். முதலியன. உங்கள் பயன்பாட்டில் நீங்கள் கையாளக்கூடிய தரவுத் தொகுப்புகளைத் திருப்பித் தரலாம், மேலும் INSERT, DELETE, சேமிக்கப்பட்ட நடைமுறைகள் போன்றவற்றை இயக்கவும். இது பெரும்பாலான ஜாவா தரவுத்தள அணுகலின் (JPA வழங்குநர்கள் உட்பட) பின்னால் உள்ள அடிப்படை தொழில்நுட்பங்களில் ஒன்றாகும்.

பாரம்பரிய ஜே.டி.பி.சி பயன்பாடுகளின் சிக்கல்களில் ஒன்று என்னவென்றால், தரவுத் தொகுப்புகள் மற்றும் பொருள்களுக்கு இடையில் நிறைய மேப்பிங் நிகழும், தர்க்கம் SQL உடன் கலக்கப்படுவது போன்ற சில மோசமான குறியீட்டை நீங்கள் அடிக்கடி கொண்டிருக்கலாம்.

JPA என்பது பொருள் தொடர்பு வரைபடத்திற்கான ஒரு தரமாகும். இது ஒரு தொழில்நுட்பமாகும், இது குறியீடு மற்றும் தரவுத்தள அட்டவணையில் உள்ள பொருட்களுக்கு இடையில் வரைபடத்தை அனுமதிக்கிறது. இது டெவலப்பரிடமிருந்து SQL ஐ "மறைக்க" முடியும், இதனால் அவர்கள் கையாளும் அனைத்தும் ஜாவா வகுப்புகள், மேலும் அவற்றை சேமிக்கவும் அவற்றை மாயமாக ஏற்றவும் வழங்குநர் உங்களை அனுமதிக்கிறார். பெரும்பாலும், எக்ஸ்எம்எல் மேப்பிங் கோப்புகள் அல்லது பெறுநர்கள் மற்றும் செட்டர்களில் உள்ள சிறுகுறிப்புகள் ஜேபிஏ வழங்குநரிடம் உங்கள் பொருள் வரைபடத்தில் எந்த புலங்களை டிபியில் எந்த துறைகளுக்குச் சொல்ல பயன்படுத்தலாம். மிகவும் பிரபலமான JPA வழங்குநர் ஹைபர்னேட், எனவே உறுதியான எடுத்துக்காட்டுகளுக்கு இது ஒரு நல்ல இடம்.

மற்ற எடுத்துக்காட்டுகள் OpenJPA, டாப்லிங்க் போன்றவை.