// SQL Schema CREATE TABLE users ( id BIGINT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT ); // Equivalent Entity Model : User.java @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private int age; // Getters and setters omitted for brevity } // Repository class that maps data from database using the Entity class User : UserRepository.java public interface UserRepository extends JpaRepository<User, Long> { } // Business logic interface : UserService.java public interface UserService { List<User> getAllUsers(); Optional<User> getUserById(Long id); User saveUser(User user); void deleteUser(Long id); } // Business logic implementation of service that uses repository class as dependency to pull business data : UserServiceImpl.java @Service public class UserServiceImpl implements UserService { @Autowired private UserRepository userRepository; @Override public List<User> getAllUsers() { return userRepository.findAll(); } @Override public Optional<User> getUserById(Long id) { return userRepository.findById(id); } @Override public User saveUser(User user) { return userRepository.save(user); } @Override public void deleteUser(Long id) { userRepository.deleteById(id); } } // Rest Controller class that maps url with a service business logic @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping public ResponseEntity<List<User>> getAllUsers() { List<User> users = userService.getAllUsers(); return ResponseEntity.ok(users); } @GetMapping("/{id}") public ResponseEntity<User> getUserById(@PathVariable Long id) { return userService.getUserById(id) .map(ResponseEntity::ok) .orElse(ResponseEntity.notFound().build()); } @PostMapping public ResponseEntity<User> createUser(@RequestBody User user) { User savedUser = userService.saveUser(user); return ResponseEntity.status(HttpStatus.CREATED).body(savedUser); } @DeleteMapping("/{id}") public ResponseEntity<Void> deleteUser(@PathVariable Long id) { userService.deleteUser(id); return ResponseEntity.noContent().build(); } }public interface RoomRepository extends JpaRepository<Room, Long> { List<Room> findAllByRoomNumberIgnoreCase(String roomNumber); Optional<Room> findByRoomNumberIgnoreCase(String roomNumber); // findAllBy_Field() // findBy_Field() // findBy_Field1_And_Field2() }