Create a simple unoptimized DB call#1
Conversation
… add OrderRepository for fetching orders with customers
- Update README with performance baselines for small and large datasets - Refactor OrderController to log query execution time - Modify Customer entity to include ID generation strategy - Remove unnecessary query method from OrderRepository - Add SeedDataCreator for populating initial data - Create CustomerRepository for customer data management
|
Warning Review limit reached
More reviews will be available in 52 minutes and 31 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. 📝 WalkthroughWalkthroughThis PR introduces an entirely new Spring Boot project ( ChangesSQL Optimization Demo — New Spring Boot Project
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.mvn/wrapper/maven-wrapper.properties:
- Around line 1-3: The maven-wrapper.properties file is missing a checksum
property for integrity verification. Since Maven 3.9.16 only publishes SHA-512
checksums and not SHA-256, add the distributionSha512Sum property with the
provided checksum value to the file. Additionally, update the Maven wrapper
scripts (typically in the .mvn/wrapper directory) to support SHA-512
verification instead of SHA-256 to ensure the integrity check functions properly
with the new checksum type.
In `@README.md`:
- Around line 6-16: The README.md file contains endpoint and formatting errors
in the Performance Baseline sections. The endpoints listed as `/api/orders/all`
in both the Unoptimized-Data-small and Unoptimized-Data-large sections should be
corrected to `/orders/all` to match the actual controller implementation.
Additionally, the data volume in the Unoptimized-Data-large section shows an
incorrectly formatted number `2000,000` which should be corrected to `2,000,000`
to use proper comma notation for the 2 million orders.
In `@src/main/java/com/demo/sqlOptimization/controller/OrderController.java`:
- Around line 29-35: The getAllOrders() method in OrderController is loading all
orders into memory using unbounded findAll() which causes performance
degradation with large datasets. Refactor this endpoint to implement pagination
by adding a Pageable parameter to the getAllOrders() method signature, update
the orderRepository.findAll() call to pass the Pageable parameter, and change
the return type from List<Order> to Page<Order> to properly handle paginated
results.
In `@src/main/java/com/demo/sqlOptimization/SeedDataCreator.java`:
- Around line 14-30: The SeedDataCreator class is missing profile gating which
causes it to run in all environments including tests. Add the `@Profile`("demo")
annotation to the SeedDataCreator class definition (above the `@Component`
annotation) to ensure the component is only instantiated when the "demo" profile
is active, preventing seed data injection in test environments while keeping the
existing count guard as a secondary safety measure.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 260db271-e824-4f7a-9d8e-62c62bfadd9e
📒 Files selected for processing (16)
.gitattributes.gitignore.mvn/wrapper/maven-wrapper.propertiesREADME.mdmvnwmvnw.cmdpom.xmlsrc/main/java/com/demo/sqlOptimization/SeedDataCreator.javasrc/main/java/com/demo/sqlOptimization/SqlOptimizationApplication.javasrc/main/java/com/demo/sqlOptimization/controller/OrderController.javasrc/main/java/com/demo/sqlOptimization/entities/Customer.javasrc/main/java/com/demo/sqlOptimization/entities/Order.javasrc/main/java/com/demo/sqlOptimization/repository/CustomerRepository.javasrc/main/java/com/demo/sqlOptimization/repository/OrderRepository.javasrc/main/resources/application.yamlsrc/test/java/com/demo/sqlOptimization/SqlOptimizationApplicationTests.java
| wrapperVersion=3.3.4 | ||
| distributionType=only-script | ||
| distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
props=".mvn/wrapper/maven-wrapper.properties"
echo "Checking for distributionSha256Sum..."
if awk -F= '$1=="distributionSha256Sum"{found=1} END{exit !found}' "$props"; then
echo "distributionSha256Sum is present"
else
echo "distributionSha256Sum is missing"
fi
url="$(awk -F= '$1=="distributionUrl"{print $2}' "$props")"
echo "distributionUrl=$url"
echo "Expected SHA-256 from repository:"
curl -fsSL "${url}.sha256"Repository: KaranSinghG/sql-latency-optimization-demo
Length of output: 376
🌐 Web query:
Apache Maven 3.9.16 SHA-256 checksum distribution source
💡 Result:
The official distribution of Apache Maven 3.9.16 provides SHA-512 checksum files, not SHA-256 checksum files [1][2]. You can verify the integrity of your download using the provided.sha512 files located in the binaries and source directories on the official Apache distribution server [1][3][2]. For each distribution archive, the corresponding.sha512 file is available at the same location [1][2]: - Binary (tar.gz): apache-maven-3.9.16-bin.tar.gz.sha512 [1][2] - Binary (zip): apache-maven-3.9.16-bin.zip.sha512 [1][2] - Source (tar.gz): apache-maven-3.9.16-src.tar.gz.sha512 [3] - Source (zip): apache-maven-3.9.16-src.zip.sha512 [3] While Apache documentation indicates that SHA-256 hashes can be generated manually using tools like gpg or certUtil if needed [4], the project distributes SHA-512 hashes as the standard for verifying these release bundles [1][2]. You should always download these files from the official Apache Maven download location to ensure integrity [5][4].
Citations:
- 1: https://downloads.apache.org/maven/maven-3/3.9.16/binaries/
- 2: https://dlcdn.apache.org/maven/maven-3/3.9.16/binaries/
- 3: https://downloads.apache.org/maven/maven-3/3.9.16/source/
- 4: https://maven.apache.org/ref/3.9.9/download.cgi
- 5: https://maven.apache.org/download.cgi?Preferred=https%3A%2F%2Fdlcdn.apache.org%2F
🏁 Script executed:
#!/bin/bash
# Check if Maven publishes checksums in alternate locations
# Try Apache Maven dist folder
echo "Checking Apache Maven dist folder..."
curl -fsSL "https://archive.apache.org/dist/maven/maven-3/3.9.16/apache-maven-3.9.16-bin.zip.sha256" 2>&1 | head -20Repository: KaranSinghG/sql-latency-optimization-demo
Length of output: 171
🌐 Web query:
Maven wrapper configuration distributionSha512Sum property supported
💡 Result:
Yes, the distributionSha512Sum property is supported in Maven Wrapper. It was introduced to address the need for SHA-512 verification, as the Apache Maven project primarily publishes SHA-512 checksums for its distributions [1][2][3]. The property can be added to the maven-wrapper.properties file to verify the integrity of the downloaded Maven distribution [1]. Alongside it, a corresponding wrapperSha512Sum property was also introduced to allow verification of the maven-wrapper.jar file itself [1][3]. These properties were added to provide a more practical alternative to the SHA-256 checksums, which are still supported for backward compatibility but are not always readily published by the Maven project [1][4][3].
Citations:
- 1: [MWRAPPER-117] added distributionSha512Sum and wrapperSha512Sum apache/maven-wrapper#398
- 2: [MWRAPPER-117] Wrapper distributions and jars sha256 checksums should be published apache/maven-wrapper#316
- 3: https://mail-archive.com/issues@maven.apache.org/msg341528.html
- 4: https://maven.apache.org/tools/wrapper/
🏁 Script executed:
#!/bin/bash
# Fetch the actual SHA-512 checksum from official Apache Maven repository
echo "Fetching SHA-512 checksum from Apache Maven dist..."
curl -fsSL "https://downloads.apache.org/maven/maven-3/3.9.16/binaries/apache-maven-3.9.16-bin.zip.sha512"
echo ""
echo "Checking if wrapper supports distributionSha512Sum..."
grep -r "distributionSha512Sum\|distributionSha256Sum" . 2>/dev/null || echo "No references found in repo"Repository: KaranSinghG/sql-latency-optimization-demo
Length of output: 1945
🌐 Web query:
Maven wrapper version 3.3.4 changelog SHA-512 support release date
💡 Result:
Apache Maven Wrapper version 3.3.4 was released on September 8, 2025 [1]. While the 3.3.4 release primarily served as a "quickfix" release to revert an unwanted commit from the previous version [2][3], the addition of SHA-512 checksum support was introduced via pull request #398 [4], which was integrated into the Apache Maven Wrapper codebase. This feature allows users to utilize distributionSha512Sum and wrapperSha512Sum properties in their maven-wrapper.properties file for integrity verification [4][5]. Key details regarding SHA-512 support: - Purpose: It was implemented because the Apache Maven project officially publishes SHA-512 checksums for its distributions, making them more accessible than the previously required SHA-256 sums [4][6]. - Functionality: The wrapper scripts (shell and PowerShell) and the Java runtime were updated to validate downloaded artifacts using these new SHA-512 properties, while maintaining backward compatibility with SHA-256 [4][5]. - Documentation: Checksum verification instructions are available on the official Apache Maven Wrapper tools site [7][4].
Citations:
- 1: https://mvnrepository.com/artifact/org.apache.maven.wrapper/maven-wrapper/3.3.4
- 2: https://github.com/apache/maven-wrapper/releases/tag/maven-wrapper-3.3.4
- 3: https://www.mail-archive.com/dev@maven.apache.org/msg136059.html
- 4: [MWRAPPER-117] added distributionSha512Sum and wrapperSha512Sum apache/maven-wrapper#398
- 5: https://mail-archive.com/issues@maven.apache.org/msg341667.html
- 6: https://mail-archive.com/issues@maven.apache.org/msg341528.html
- 7: https://www.mail-archive.com/announce@maven.apache.org/msg01577.html
🏁 Script executed:
#!/bin/bash
# Check wrapper version history and when SHA-512 was introduced
echo "Checking Maven wrapper GitHub for version 3.3.4 and SHA-512 support..."
curl -fsSL "https://api.github.com/repos/apache/maven-wrapper/releases" | jq '.[] | select(.tag_name | contains("3.3")) | {tag_name, published_at}' | head -40Repository: KaranSinghG/sql-latency-optimization-demo
Length of output: 566
🏁 Script executed:
#!/bin/bash
# Check if maven-wrapper files were properly updated for version 3.3.4
echo "Checking maven-wrapper.jar version..."
ls -lh .mvn/wrapper/maven-wrapper.jar 2>/dev/null || echo "No jar found"
echo ""
echo "Checking if mvnw script references SHA-512..."
grep -c "distributionSha512Sum" ./mvnw 2>/dev/null || echo "distributionSha512Sum not found in mvnw"
echo ""
echo "Comparing with official Maven wrapper..."
# Check what the official wrapper generates
curl -fsSL "https://raw.githubusercontent.com/apache/maven-wrapper/master/mvnw" | grep -c "distributionSha512Sum" || echo "Official master branch check"Repository: KaranSinghG/sql-latency-optimization-demo
Length of output: 365
Update Maven distribution checksum for integrity verification, but note that Maven 3.9.16 requires SHA-512.
The wrapper is missing distributionSha256Sum, disabling integrity checks. However, Apache Maven 3.9.16 only publishes SHA-512 checksums (not SHA-256), so ${distributionUrl}.sha256 does not exist.
Two options to fix this:
- Use SHA-512 (preferred): Update wrapper scripts to support
distributionSha512Sumand add:distributionSha512Sum=ed41650d42485cfc243fad22158caf9cbb5dc408ce7a09ddb94dd42a019de929ca43065bfa450612cf12bf78b5cafa3884b96c090de326ff590448c933454af3 - Use an older Maven version that publishes SHA-256 checksums if SHA-512 support cannot be added.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.mvn/wrapper/maven-wrapper.properties around lines 1 - 3, The
maven-wrapper.properties file is missing a checksum property for integrity
verification. Since Maven 3.9.16 only publishes SHA-512 checksums and not
SHA-256, add the distributionSha512Sum property with the provided checksum value
to the file. Additionally, update the Maven wrapper scripts (typically in the
.mvn/wrapper directory) to support SHA-512 verification instead of SHA-256 to
ensure the integrity check functions properly with the new checksum type.
| ## 📊 Performance Baseline (Unoptimized-Data-small) | ||
| - **Data Volume:** 1,000 Customers, 20,000 Orders | ||
| - **Endpoint:** `/api/customers/report` | ||
| - **Endpoint:** `/api/orders/all` | ||
| - **Total DB Queries Executed:** 1,001 | ||
| - **Average Response Time:** | ||
| - **Average Response Time:** 83 ms (10 calls) | ||
|
|
||
| ## 📊 Performance Baseline (Unoptimized-Data-large) | ||
| - **Data Volume:** 10,000 Customers, 2000,000 Orders | ||
| - **Endpoint:** `/api/orders/all` | ||
| - **Total DB Queries Executed:** 1,001 | ||
| - **Average Response Time:** 7.06 s (10 calls) |
There was a problem hiding this comment.
Fix baseline docs to match the implemented API and data notation.
Line 8 and Line 14 list /api/orders/all, but the controller exposes /orders/all. Line 13 also has a numeric typo (2000,000).
Suggested change
-- **Endpoint:** `/api/orders/all`
+- **Endpoint:** `/orders/all`
...
-- **Data Volume:** 10,000 Customers, 2000,000 Orders
+- **Data Volume:** 10,000 Customers, 2,000,000 Orders
-- **Endpoint:** `/api/orders/all`
+- **Endpoint:** `/orders/all`📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ## 📊 Performance Baseline (Unoptimized-Data-small) | |
| - **Data Volume:** 1,000 Customers, 20,000 Orders | |
| - **Endpoint:** `/api/customers/report` | |
| - **Endpoint:** `/api/orders/all` | |
| - **Total DB Queries Executed:** 1,001 | |
| - **Average Response Time:** | |
| - **Average Response Time:** 83 ms (10 calls) | |
| ## 📊 Performance Baseline (Unoptimized-Data-large) | |
| - **Data Volume:** 10,000 Customers, 2000,000 Orders | |
| - **Endpoint:** `/api/orders/all` | |
| - **Total DB Queries Executed:** 1,001 | |
| - **Average Response Time:** 7.06 s (10 calls) | |
| ## 📊 Performance Baseline (Unoptimized-Data-small) | |
| - **Data Volume:** 1,000 Customers, 20,000 Orders | |
| - **Endpoint:** `/orders/all` | |
| - **Total DB Queries Executed:** 1,001 | |
| - **Average Response Time:** 83 ms (10 calls) | |
| ## 📊 Performance Baseline (Unoptimized-Data-large) | |
| - **Data Volume:** 10,000 Customers, 2,000,000 Orders | |
| - **Endpoint:** `/orders/all` | |
| - **Total DB Queries Executed:** 1,001 | |
| - **Average Response Time:** 7.06 s (10 calls) |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` around lines 6 - 16, The README.md file contains endpoint and
formatting errors in the Performance Baseline sections. The endpoints listed as
`/api/orders/all` in both the Unoptimized-Data-small and Unoptimized-Data-large
sections should be corrected to `/orders/all` to match the actual controller
implementation. Additionally, the data volume in the Unoptimized-Data-large
section shows an incorrectly formatted number `2000,000` which should be
corrected to `2,000,000` to use proper comma notation for the 2 million orders.
| @GetMapping("/all") | ||
| public List<Order> getAllOrders() { | ||
| Long t1 = System.currentTimeMillis(); | ||
| List<Order> orders = orderRepository.findAll(); | ||
| Long t2 = System.currentTimeMillis(); | ||
| System.out.println("Time taken by findAll(): " + (t2 - t1) + " ms"); | ||
| return orders; |
There was a problem hiding this comment.
Avoid unbounded findAll() in the API path; paginate this endpoint.
Line 32 loads every order into memory. With the documented large dataset, this can degrade availability via long request times and memory spikes.
Suggested change
+import org.springframework.data.domain.PageRequest;
+import org.springframework.web.bind.annotation.RequestParam;
...
`@GetMapping`("/all")
- public List<Order> getAllOrders() {
+ public List<Order> getAllOrders(
+ `@RequestParam`(defaultValue = "0") int page,
+ `@RequestParam`(defaultValue = "100") int size) {
Long t1 = System.currentTimeMillis();
- List<Order> orders = orderRepository.findAll();
+ List<Order> orders = orderRepository.findAll(PageRequest.of(page, size)).getContent();
Long t2 = System.currentTimeMillis();
System.out.println("Time taken by findAll(): " + (t2 - t1) + " ms");
return orders;
}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| @GetMapping("/all") | |
| public List<Order> getAllOrders() { | |
| Long t1 = System.currentTimeMillis(); | |
| List<Order> orders = orderRepository.findAll(); | |
| Long t2 = System.currentTimeMillis(); | |
| System.out.println("Time taken by findAll(): " + (t2 - t1) + " ms"); | |
| return orders; | |
| `@GetMapping`("/all") | |
| public List<Order> getAllOrders( | |
| `@RequestParam`(defaultValue = "0") int page, | |
| `@RequestParam`(defaultValue = "100") int size) { | |
| Long t1 = System.currentTimeMillis(); | |
| List<Order> orders = orderRepository.findAll(PageRequest.of(page, size)).getContent(); | |
| Long t2 = System.currentTimeMillis(); | |
| System.out.println("Time taken by findAll(): " + (t2 - t1) + " ms"); | |
| return orders; | |
| } |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/main/java/com/demo/sqlOptimization/controller/OrderController.java`
around lines 29 - 35, The getAllOrders() method in OrderController is loading
all orders into memory using unbounded findAll() which causes performance
degradation with large datasets. Refactor this endpoint to implement pagination
by adding a Pageable parameter to the getAllOrders() method signature, update
the orderRepository.findAll() call to pass the Pageable parameter, and change
the return type from List<Order> to Page<Order> to properly handle paginated
results.
| @Component | ||
| public class SeedDataCreator implements CommandLineRunner { | ||
|
|
||
| private final CustomerRepository customerRepository; | ||
| private final OrderRepository orderRepository; | ||
|
|
||
| public SeedDataCreator(CustomerRepository customerRepository, OrderRepository orderRepository) { | ||
| this.customerRepository = customerRepository; | ||
| this.orderRepository = orderRepository; | ||
| } | ||
|
|
||
| @Override | ||
| @Transactional | ||
| public void run(String... args) throws Exception { | ||
| if(customerRepository.count()>0) { | ||
| return; | ||
| } |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify seeding is currently ungated and whether any profile/property gating exists.
rg -n -C2 '`@Component`|`@Profile`|`@ConditionalOnProperty`|implements CommandLineRunner' src/main/java/com/demo/sqlOptimization/SeedDataCreator.java
rg -n -S 'seed|spring.profiles.active|demo' src/main/resources/application.yaml src/testRepository: KaranSinghG/sql-latency-optimization-demo
Length of output: 387
🏁 Script executed:
cat -n src/main/java/com/demo/sqlOptimization/SeedDataCreator.javaRepository: KaranSinghG/sql-latency-optimization-demo
Length of output: 1773
🏁 Script executed:
find src/test -type f \( -name "*.java" -o -name "*.yaml" -o -name "*.properties" \) | head -20Repository: KaranSinghG/sql-latency-optimization-demo
Length of output: 161
🏁 Script executed:
rg -n "`@ActiveProfiles`|`@SpringBootTest`|spring.profiles.active" src/testRepository: KaranSinghG/sql-latency-optimization-demo
Length of output: 179
🏁 Script executed:
cat -n src/test/java/com/demo/sqlOptimization/SqlOptimizationApplicationTests.javaRepository: KaranSinghG/sql-latency-optimization-demo
Length of output: 401
🏁 Script executed:
find src/test -type f \( -name "application*.yaml" -o -name "application*.properties" \)Repository: KaranSinghG/sql-latency-optimization-demo
Length of output: 67
Add @Profile("demo") annotation to prevent seeding in test environments.
SeedDataCreator is an always-on @Component without profile gating, so it runs on every context startup (including @SpringBootTest) and injects 20,000 demo records. The internal guard on line 28 only prevents re-seeding within the same instance—it does not isolate tests from demo data contamination.
Suggested change
+import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;
...
+@Profile("demo")
`@Component`
public class SeedDataCreator implements CommandLineRunner {📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| @Component | |
| public class SeedDataCreator implements CommandLineRunner { | |
| private final CustomerRepository customerRepository; | |
| private final OrderRepository orderRepository; | |
| public SeedDataCreator(CustomerRepository customerRepository, OrderRepository orderRepository) { | |
| this.customerRepository = customerRepository; | |
| this.orderRepository = orderRepository; | |
| } | |
| @Override | |
| @Transactional | |
| public void run(String... args) throws Exception { | |
| if(customerRepository.count()>0) { | |
| return; | |
| } | |
| import org.springframework.context.annotation.Profile; | |
| import org.springframework.stereotype.Component; | |
| `@Profile`("demo") | |
| `@Component` | |
| public class SeedDataCreator implements CommandLineRunner { | |
| private final CustomerRepository customerRepository; | |
| private final OrderRepository orderRepository; | |
| public SeedDataCreator(CustomerRepository customerRepository, OrderRepository orderRepository) { | |
| this.customerRepository = customerRepository; | |
| this.orderRepository = orderRepository; | |
| } | |
| `@Override` | |
| `@Transactional` | |
| public void run(String... args) throws Exception { | |
| if(customerRepository.count()>0) { | |
| return; | |
| } |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/main/java/com/demo/sqlOptimization/SeedDataCreator.java` around lines 14
- 30, The SeedDataCreator class is missing profile gating which causes it to run
in all environments including tests. Add the `@Profile`("demo") annotation to the
SeedDataCreator class definition (above the `@Component` annotation) to ensure the
component is only instantiated when the "demo" profile is active, preventing
seed data injection in test environments while keeping the existing count guard
as a secondary safety measure.
Summary by CodeRabbit
New Features
/orders/allREST API endpoint to retrieve all orders with response time tracking.Documentation
Chores