Skip to content

Create Enrollment entity model and Data Access Object #16

@aolguin89

Description

@aolguin89

User Story

As a developer
I want to implement the Enrollment entity and DAO layer
So that the application can manage student course enrollments

Description

Implement Enrollment POJO and DAO layer to handle the many-to-many relationship between users and courses.

Tasks

Enrollment Model (POJO)

  • Create Enrollment.java in model/ package
  • Add all fields matching enrollments table schema
  • Implement constructors
  • Implement getters and setters
  • Override toString()
  • Add Javadoc documentation

Enrollment DAO Interface

  • Create EnrollmentDAO.java interface in dao/ package
  • Define method signatures for enrollment operations
  • Add Javadoc documentation

Enrollment DAO Implementation

  • Create EnrollmentDAOImpl.java in dao/ package
  • Implement enroll(int userId, int courseId) - create enrollment
  • Implement unenroll(int userId, int courseId) - remove enrollment
  • Implement isEnrolled(int userId, int courseId) - check if enrolled
  • Implement findByUser(int userId) - user's enrollments
  • Implement findByCourse(int courseId) - course's enrollments
  • Implement countByCourse(int courseId) - enrollment count
  • Handle duplicate enrollment attempts
  • Handle capacity validation
  • Close resources correctly

Testing

  • Test enroll() creates enrollment record
  • Test duplicate enrollment is prevented
  • Test isEnrolled() returns correct status
  • Test countByCourse() returns correct count
  • Test capacity limit enforcement

Acceptance Criteria

  • Enrollment.java includes all fields from schema
  • EnrollmentDAO implements all operations
  • Cannot enroll twice in same course (unique constraint)
  • Capacity validation works (if implemented)
  • All methods handle errors gracefully
  • Code includes Javadoc

Metadata

Metadata

Assignees

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions