[Mendix][Domain] (Non-)Persistable Entities

728x90

(Non-)Persistable Entities

도메인 모델에서 Persistable 속성은 객체를 데이터 베이스에 저장할 수 있는지 여부를 정의한다.

 

Persistable

  • 해당 엔터티에 대한 데이터베이스 테이블 생성됨
  • 인스턴스를 커밋할 경우 테이블에 행이 삽입
  • 해당 인스턴스에 저장된 속성, 연관정보도 데이터베이스에 저장

 

Non-Persistable

  • 데이터베이스에 저장할수 없음으로 데이터베이스 테이블이 없음
  • 엔터티를 커밋하는 것은 가능
  • 커밋된 속성, 연관 값들은 메모리에 저장
  • 세션이 끝나면 모든 데이터는 삭제됨

 

Transient objects

  • 객체가 생성되면 메모리에서 수행
  • 현시점 객체는 메모리에만 존재하고 데이터베이스에 존재하지 않음
  • AutoNumber 정보 검색을 제외하고 데이터베이스에 액세스 하지 않음
  • Non-persistable 엔터티는 AutoNumber 속성도 사용할 수 없음

 

Non-persistable associations

  • Non-persistable과 persistable 엔터티 간의 연결을 만들 때는 항상 Non-persistable 쪽에서만  연결가능
  • Non-persistable 엔터티는 다른 색상으로 표현현됨

Non-persistable associations
Non-persistable associations

 

Other Limitations

  • 도메인 모델에 대한 유효성 검사를 할수 없음
  • 데이터베이스가 아니기 때문에 인젝스를 설정할 수 없음

 

Non-Presistavle 엔티티를 사용하는 이유

  • 데이터베이스에 저장되어지지 않아도 되는 데이터를 사용하는 경우
  • 프로세스 데이터들일 경우 단발성으로 사용되는 데이터
  • 개인정보나 법적으로 저장할수 없는 민감 정보들의 데이터

 


728x90