보통 세션은 with 문을 사용하여 세션을 열고 닫는 컨텍스트 매니저(context manager) 패턴을 활용합니다. 그렇지 않으면 일일이 세션을 닫아야 하기 때문에 with 문을 사용하면 코드가 간결하고 직관적입니다.
파이썬 예시 코드
from sqlalchemy.orm import sessionmaker
SessionLocal = sessionmaker(bind=engine)
# with 문을 통해 세션을 관리하면 블록을 빠져나갈 때 세션이 자동 종료
with SessionLocal() as session:
stmt = select(User).where(User.username == "puddingcamp")
result = session.execute(stmt)
user = result.scalars().first()
print(user)