🔥 ORM vs Raw SQL — Ek baar samjho, hamesha ke liye clear ho jao. ORM = Less code, faster dev, but less control. Raw SQL = More control, better performance, more effort. Neither is wrong. Knowing WHEN to use which — that's the real skill. 🎯 Save this. #BackendDev #Java #SQL #SpringBoot #100DaysOfCode #ProgrammingTips
ORM vs Raw SQL: Choosing the Right Approach
More Relevant Posts
-
Day 67 — LeetCode Progress (Java) Problem: Insert Delete GetRandom O(1) Goal: Design a data structure that supports: Insert Delete Get Random All in O(1) time Idea: You can’t rely on just a set or list — you need both speed + index access. Approach: Use: ArrayList → for O(1) random access HashMap → value → index mapping Insert:If value exists → return false Else: Add to list Store index in map Remove:If value not present → return false Else: Swap it with last element in list Update map for swapped element Remove last element Delete from map GetRandom:Generate random index Return element from list Time Complexity: O(1) for all operations Space Complexity: O(n) #LeetCode #DSA #Java #HashMap #ArrayList #SystemDesign #CodingJourney
To view or add a comment, sign in
-
-
𝐍+𝟏 𝐏𝐫𝐨𝐛𝐥𝐞𝐦 𝐢𝐧 𝐒𝐩𝐫𝐢𝐧𝐠 𝐁𝐨𝐨𝐭 – 𝐓𝐡𝐞 𝐇𝐢𝐝𝐝𝐞𝐧 𝐏𝐞𝐫𝐟𝐨𝐫𝐦𝐚𝐧𝐜𝐞 𝐓𝐫𝐚𝐩 Fetching records looks easy… until Hibernate executes N+1 queries instead of one. • 1 query to fetch orders • N extra queries to fetch related data (like customers) Result? Slow performance & unnecessary DB load 𝐇𝐨𝐰 𝐭𝐨 𝐟𝐢𝐱 𝐢𝐭: Use JOIN FETCH Use @EntityGraph Use DTO projections Optimize your queries, not just your code! #SpringBoot #Java #Backend #Hibernate #PerformanceOptimization #CodingTips
To view or add a comment, sign in
-
-
#Post5 In the previous post, we saw how @RequestBody helps us handle request data. Now the next question is 👇 How do we get data from the URL? There are two common ways: • @PathVariable • @RequestParam Let’s understand 👇 👉 @PathVariable Used when the value is part of the URL path Example: GET /users/10 @GetMapping("/users/{id}") public String getUser(@PathVariable int id) { return "User id: " + id; } 👉 @RequestParam Used when the value comes as a query parameter Example: GET /users?id=10 @GetMapping("/users") public String getUser(@RequestParam int id) { return "User id: " + id; } 💡 Key difference: @PathVariable → part of URL @RequestParam → query parameter Key takeaway: Use the right approach based on how data is passed in the request 👍 In the next post, we will explore exception handling in Spring Boot 🔥 #Java #SpringBoot #BackendDevelopment #RESTAPI #LearnInPublic
To view or add a comment, sign in
-
#Post4 In the previous post, we understood how request mapping works using @GetMapping and others. Now the next question is 👇 How does Spring Boot handle data sent from the client? That’s where @RequestBody comes in 🔥 When a client sends JSON data → it needs to be converted into a Java object. Example request (JSON): { "name": "User", "age": 25 } Controller: @PostMapping("/user") public User addUser(@RequestBody User user) { return user; } 👉 Spring automatically converts JSON → Java object This is done using a library called Jackson (internally) 💡 Why is this useful? • No manual parsing needed • Clean and readable code Key takeaway: @RequestBody makes it easy to handle request data in APIs 🚀 In the next post, we will understand @PathVariable and @RequestParam 🔥 #Java #SpringBoot #BackendDevelopment #RESTAPI #LearnInPublic
To view or add a comment, sign in
-
Did you know Spring Data JPA can generate SQL queries just from method names? 😳 In this video, I explain how this method: findFirstByStatusOrderByTokenNumberAsc() automatically generates: SELECT * FROM token_queue WHERE status = 'WAITING' ORDER BY token_number ASC LIMIT 1; This is used to fetch the next available token in a queue system. Full explanation available in TamilKadal YouTube channel Link in the first comments section #SpringBoot #Java #JPA #Hibernate #BackendDevelopment #Programming #Coding #Developer #SoftwareEngineering #Tech #JavaDeveloper #LearnCoding
To view or add a comment, sign in
-
Stack vs Heap Memory in Java – Where Does Your Data Live? 🧠 Stack Memory: ▸ Method calls + local variables ▸ LIFO (Last In, First Out) ▸ Very fast, auto-cleared after method ends ▸ Each thread has its own stack Heap Memory: ▸ Stores objects & instance variables ▸ Shared across threads ▸ Managed by Garbage Collector ▸ Slower than Stack, can throw OutOfMemoryError Example: void demo() { int x = 10; String s = new String("Java"); } ▸ x → Stack ▸ s (reference) → Stack ▸ "Java" object → Heap Rule: → Primitives → Stack → References → Stack → Objects → Heap #Java #SpringBoot #BackendDevelopment #Memory #JavaDeveloper
To view or add a comment, sign in
-
-
Stack vs Heap Memory in Java – Where Does Your Data Live? 🧠 Stack Memory: ▸ Method calls + local variables ▸ LIFO (Last In, First Out) ▸ Very fast, auto-cleared after method ends ▸ Each thread has its own stack Heap Memory: ▸ Stores objects & instance variables ▸ Shared across threads ▸ Managed by Garbage Collector ▸ Slower than Stack, can throw OutOfMemoryError Example: void demo() { int x = 10; String s = new String("Java"); } ▸ x → Stack ▸ s (reference) → Stack ▸ "Java" object → Heap Rule: → Primitives → Stack → References → Stack → Objects → Heap #Java #SpringBoot #BackendDevelopment #Memory #JavaDeveloper
To view or add a comment, sign in
-
-
🚨 𝗧𝗵𝗲 𝗦𝗶𝗹𝗲𝗻𝘁 𝗣𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲 𝗞𝗶𝗹𝗹𝗲𝗿 𝗶𝗻 𝗦𝗽𝗿𝗶𝗻𝗴 𝗕𝗼𝗼𝘁 — 𝗡+𝟭 𝗤𝘂𝗲𝗿𝘆 𝗣𝗿𝗼𝗯𝗹𝗲𝗺 Everything works fine… Until your API suddenly becomes slow in production 😅 That’s when many discover the N+1 Query Problem. 𝗪𝗵𝗮𝘁 𝗶𝘀 𝗡+𝟭? You fetch 1 parent entity Then Hibernate runs N additional queries for child entities 👉 Total queries = N + 1 👉 Performance = 📉 𝗘𝘅𝗮𝗺𝗽𝗹𝗲 Fetching Departments with Employees: Instead of 1 query, Hibernate runs: • 𝟭 𝗾𝘂𝗲𝗿𝘆 → Fetch departments • 𝗡 𝗾𝘂𝗲𝗿𝗶𝗲𝘀 → Fetch employees for each department Boom 💥 Performance issue. 𝗖𝗼𝗺𝗺𝗼𝗻 𝗠𝗶𝘀𝘁𝗮𝗸𝗲 A common instinct is to switch to EAGER loading to fix it. But… ❌ EAGER can also cause N+1 ❌ More memory usage ❌ Less control 𝗕𝗲𝘁𝘁𝗲𝗿 𝗦𝗼𝗹𝘂𝘁𝗶𝗼𝗻𝘀 ✅ ✔️ JOIN FETCH Fetch everything in a single query ✔️ EntityGraph Cleaner and more flexible approach ✔️ Batch Size Reduces queries for large datasets ✔️ DTO Projection Best for read-only APIs and performance Understanding this early can save hours of debugging in production 🚀 #connections #SpringBoot #Hibernate #Java #Backend #Performance #JPA #SoftwareEngineering #interviewPrep #interviewQuestion
To view or add a comment, sign in
-
-
🚨 Adding indexes blindly can hurt performance Most advice says: “Add index → query becomes fast” Not always true. 💥 Real case: Added index on a frequently updated column Result? 👉 Write performance dropped significantly Why? Indexes slow down INSERT/UPDATE operations ✅ Fix: - Indexed only read-heavy columns - Avoided over-indexing 💡 Takeaway: Indexes are powerful—but expensive. Use them where reads dominate. #Java #SpringBoot #BackendDevelopment #SoftwareEngineering #Microservices #JPA #RESTAPI #DeveloperLife #CareerGrowth
To view or add a comment, sign in
-
🚨 One mistake that silently kills your backend performance: N+1 queries I hit this in a real project. Scenario: Fetching 100 users → each user loads orders lazily Result? 👉 101 queries instead of 1 💥 Impact: API response time jumped from 120ms → 2.5 seconds Root cause: Hibernate lazy loading without optimization ✅ Fix: - Used JOIN FETCH - Applied DTO projections 💡 Takeaway: If your API is slow and DB looks fine… Check your ORM queries. Hibernate is powerful, but not magical. #Java #SpringBoot #BackendDevelopment #SoftwareEngineering #Microservices #JPA #RESTAPI #DeveloperLife #CareerGrowth
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development