2017-12-29 30 views
2

GORM 6.1은 데이터 서비스 개념을 도입했습니다. 필자는 컴파일 타임에 검사되는 자동 생성 된 지속성 논리라고 생각합니다. 다음과 같은 부분에 혼란스러워하고 있습니다.GORM 데이터 서비스 VS Grails 서비스

  1. (컴파일 시간 차이는 제외하고) Grails 서비스와 어떻게 다른가요?
  2. 내 맞춤 비즈니스 로직을 GORM Data Services에 구현할 수 있습니까? 아니면 하나의 지속성 (GORM)과 다른 지속성 관련 비즈니스 로직 (GRAILS)에 대한 두 가지 서비스를 유지해야합니까? 외부 REST 요청 및 응답에 대한 응답).
  3. 눈치 채 셨습니다. grails generate-all Domain은 REST 프로필에 대한 데이터 서비스 인터페이스를 생성합니다. 이것은 서비스에서 비 지속성 관련 메소드 이름을 가질 수 있는지 여부에 관해 혼란 스럽습니다.

업데이트 : gorm.grails.org/latest/hibernate/manual/#dataServices : 내가 대해 부탁 해요 것은 이것이다. 나는 그것들이 이것과 어떻게 다른지 이해하려고 노력하고있다 : docs.grails.org/latest/guide/services.html 그리고 그것들을 언제 사용해야하는지.

답변

1

그들은 어떻게 (컴파일 시간 차이에서 제외) Grails의 서비스는 다른?

GORM 데이터 서비스 Grails 서비스입니다.

은 가능한 여전히 GORM 데이터 서비스 안에 내 사용자 지정 비즈니스 로직을 구현하거나 내가 다른 아무도 지속성 관련 에 대한 지속성 (GORM)과 기타 (Grails는) 두 서비스를 유지하기 위해 필요로하는 것입니다 비즈니스 로직 (예 : 외부 REST 요청을 작성하고 응답시 조치).

좋아하는 서비스에 비즈니스 로직을 넣을 수 있습니다. 일반적으로 GORM Data Services의 논리는 데이터베이스 상호 작용과 관련되어야하지만 이는 전적으로 사용자에게 달려 있습니다. 원한다면 비즈니스 로직의 100 %를 GORM Data Service 인스턴스에 넣을 수 있습니다. GORM 데이터 서비스는 서비스이며 원하는대로 넣을 수 있습니다.

grails generate-all 도메인은 REST 프로필 용 데이터 서비스 인터페이스를 생성합니다. 이것은 우리가 이 서비스에 non-persistence 관련 메소드 이름을 가질 수 있는지 여부에 대해 혼란 스럽습니다.

서비스에 지속성과 관련없는 메소드 이름을 사용할 수 있습니다. 당신은 원하는 것을 서비스에 넣을 수 있습니다.

내가 취할 접근법은 데이터베이스 관련 코드에 GORM Data Service를 사용하고 다른 모든 것에 전통적인 Grails 서비스를 사용하고 다른 곳으로 1을 삽입하는 것입니다.

0

아래의 귀하의 질문에 귀하의 질문을 차별화 시켰습니다.

  1. 모든 GORM 지속성 방법은 이미 (JAR 파일)를 컴파일하지만 사용자가 입력하고 코드를 저장하지 당신은/쓰기를 구현하는 서비스 메서드 호출은, 그들은 동적으로 컴파일됩니다. GORM 방법은 잘 최적화되어 있습니다.

  2. 하나의 방법으로 사용자 정의 비즈니스 로직과 GORM API 호출을 모두 작성할 수 있지만, 다른 많은 컨트롤러 호출에 대한 일반적인 메소드를 작성하고 원하는 경우 시나리오를 이해해야합니다. 복잡성을 피하십시오.이 경우 두 가지 모두에 대해 별도의 호출을 작성할 수 있습니다. 간단한 사용자 정의 비즈니스 논리의 경우 동일한 방법으로 코드를 작성할 수 있습니다.

  3. 동일한 서비스에서 비 지속성 관련 메소드를 작성할 수도 있지만, 귀하에게 달려 있습니다. 또한 이러한 방법에 대해 별도의 서비스를 만들거나 기존의 다른 서비스를 사용하여 혼란과 복잡성을 피할 수 있습니다.

참고 : 서비스는 기본적으로 트랜잭션하지만, 자신의 방법 중 어느 것도 지속성 저장소를 업데이트하지 않는 경우 비 트랜잭션을 할 수있다.

+0

내 질문을 오해 한 것처럼 보입니다. 나는 이것에 대해 말하고있다 : http://gorm.grails.org/latest/hibernate/manual/#dataServices. 나는 이것들이 https://docs.grails.org/latest/guide/services.html과 어떻게 다른지 그리고 그것들을 언제 사용하는지 이해하려고 노력하고있다. – unekwu

+0

오 ... 나는 GORM API에 대한 맞춤 서비스에 대해 이야기하고 있다고 생각했습니다. –