0
0
Spring Bootframework~20 mins

Read-only transactions in Spring Boot - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Read-only Transaction Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
What happens when a read-only transaction tries to perform a write?
Consider a Spring Boot service method annotated with @Transactional(readOnly = true). What is the expected behavior if this method attempts to save a new entity to the database?
Spring Boot
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
public class UserService {

    @Transactional(readOnly = true)
    public void createUser(String name) {
        User user = new User();
        user.setName(name);
        userRepository.save(user); // Attempt to write inside read-only transaction
    }
}
AThe save operation is ignored and no data is persisted, but no exception is thrown.
BThe transaction commits successfully and the new user is saved to the database.
CThe transaction silently rolls back without any exception or data change.
DAn exception is thrown at runtime indicating that a write operation is not allowed in a read-only transaction.
Attempts:
2 left
💡 Hint
Think about how Spring enforces read-only transactions at runtime.
📝 Syntax
intermediate
1:30remaining
Identify the correct way to declare a read-only transaction in Spring Boot
Which of the following method annotations correctly configures a read-only transaction in Spring Boot?
A@Transactional(readonly = true)
B@Transactional(readOnly = true)
C@Transaction(readOnly = true)
D@Transactional(readOnly = "true")
Attempts:
2 left
💡 Hint
Pay attention to case sensitivity and annotation spelling.
state_output
advanced
2:00remaining
What is the effect of read-only transactions on Hibernate's session flush?
In a Spring Boot application using Hibernate, what happens to the session flush behavior inside a method annotated with @Transactional(readOnly = true)?
AHibernate throws an exception if any flush is attempted inside a read-only transaction.
BHibernate flushes the session normally, committing all changes to the database.
CHibernate disables automatic session flush, so changes are not synchronized with the database.
DHibernate flushes only entity deletions but ignores inserts and updates.
Attempts:
2 left
💡 Hint
Think about how read-only transactions optimize performance by avoiding unnecessary writes.
🔧 Debug
advanced
2:30remaining
Why does a read-only transaction still allow data modification in some cases?
A developer marks a service method with @Transactional(readOnly = true) but notices that data is still being updated in the database. What is the most likely cause?
AThe underlying database or transaction manager does not enforce read-only transactions, so writes are allowed.
BThe <code>readOnly</code> attribute was misspelled, so the annotation was ignored.
CThe method is private, so Spring's transaction proxy does not apply the transaction.
DThe entity manager is configured to ignore transaction settings.
Attempts:
2 left
💡 Hint
Consider how different databases handle read-only flags.
🧠 Conceptual
expert
3:00remaining
Why use read-only transactions in Spring Boot applications?
Which of the following is the best explanation for why developers use @Transactional(readOnly = true) in Spring Boot service methods?
ATo optimize performance by avoiding unnecessary database locks and flushes during read operations.
BTo automatically rollback any changes made during the transaction.
CTo prevent any accidental data reads during write operations.
DTo enable caching of all database queries within the transaction.
Attempts:
2 left
💡 Hint
Think about how read-only transactions affect database interaction and resource usage.