2010-01-29 2 views
18

Lift에서 회사의 작은 애플리케이션을 만들고 있습니다. 나는 Scala/Lift에서 꽤 초보자입니다. 그래서 연습 할 기회를 얻었습니다. 이제 ORM 시스템을 어떻게 사용할 지에 대한 질문이 있습니다.ORM for Lift : 매퍼 또는 JPA?

반면에 Mapper는 Lift 기본값입니다. 다른 한편으로는, 나는 그것이 특정 영역에서 좋지 않다는 것을 읽었고 기록으로 대체 될 것이다 (아직 잘 문서화되지 않았기 때문에 나와 같은 새로운 사용자가 따라하기가 어렵다).

우리는 JPA : 표준 Java, Hibernate와 같은 신뢰할 수있는 구현을 가진 테스트되고 강력한 ORM을 가지고 있지만 "scala-ish"가 아니며 Mapper가 Lift와의 통합으로 인해 기본적으로 제공하는 기능을 잃어 버렸습니다.

나는 메일 링리스트에서 JPA가 리프트로가는 길로 변해 가고 있다는 주장을 읽었지만 널리 퍼진 생각은 아닌 듯하다. 누군가가 문제에 약간의 빛을 가져올 수 있습니까?

감사합니다.

+0

ups, 수정에 대한 감사 Joel :) –

답변

3

필요한 항목에 따라 다릅니다. 상속 및 일대 다 대 다 관계를 많이 사용하는 모델을 가지고 있다면 JPA를 사용하는 것이 더 나을 것입니다.

그러나 신속한 처리가 필요한 경우 Mapper를 사용하는 것이 좋습니다. Mapper/Crudify는 훌륭한 스 캐 폴딩 쌍이며 그 힘은 이길 수 없습니다.

8

이제는 같은 딜레마에 직면 해 있습니다. Mapper/Record가 JPA/Hibernate (예 : Mapper 및 Record에서 변경할 수있는 엔터티를 사용)보다 확장되지 않았 음을 고려하십시오. Hibernate를 꽤 스케일 된 방법으로 사용하는 방법을 확인하려면 스 니펫 Use of "immutable" Scala entities with HibernateMapping of scala's Option in Hibernate을 확인하십시오. 그래서 당신이 이미 Hibernate를 알고 있고 그것에 익숙하다면이 방법을 사용하는 것이 좋습니다. 그렇지 않으면 작은 프로젝트를 위해 Mapper를 시도 할 수 있습니다.

관련 문제