MongoDB는 NoSQL 데이터베이스이므로 RDBMS처럼 FOREIGN KEY 제약 조건이 존재하지 않음
따라서 연결된 데이터(room_id, sender_id)는 일반적인 필드로 저장함

# MongoDB용 ChatMessage 모델
@Document(collection = "chat_messages") // MongoDB 컬렉션 지정
public class ChatMessage {
@Id
private String id; // MongoDB에서는 String 타입의 ObjectId 사용
private Long roomId; // 채팅방 ID (MySQL과 연결)
private Long senderId; // 작성자 ID (MySQL과 연결)
private String message;
private LocalDateTime createDate;
private String attachment; // 첨부파일
public ChatMessage(Long roomId, Long senderId, String message, String attachment) {
this.roomId = roomId;
this.senderId = senderId;
this.message = message;
this.createDate = LocalDateTime.now();
this.attachment = attachment;
}
// Getter & Setter
}
MySQL(JPA)의 트랜잭션은 @Transactional을 사용하면 롤백이 가능하지만,
MongoDB는 기본적으로 트랜잭션을 지원하지 않음.
MongoDB 트랜잭션을 사용하려면 별도의 설정이 필요.