Grails 웹 응용 프로그램을 사용하면서 Grails 서비스를 사용할 때 이상한 점이 많습니다. Grails 서비스에 대해 더 많이 이해할 수 있도록이 질문을하고 싶습니다. 이것은 나를 위해 (그리고 아마도 다른 사람들을 위해) 도움이 될 것입니다^_ ^). 미리 감사드립니다.Grails 서비스에 대한 몇 가지 질문이 있습니다.
서비스가 정적 = 트랜잭션 트루 구성하면, 더러워 하이버 네이트 세션에 고정되는 물체와 호출 된 방법 DB 이후에 모든 데이터 변경을 플러시 할 것인가?
static transactional = true
대신 클래스 수준에서@Transactional
주석을 사용할 수 있습니까? 그리고 그것들을@Transactional(readOnly = true)
을 몇개의 메소드에 넣어 DB로부터 데이터를 읽어 들이고 싶습니다.트랜잭션 상속은 어떻습니까? 부모 서비스가
static transactional = true
으로 구성되어 있고 하위 서비스에@Transactional
주석 (클래스)과 일부@Transactional(readOnly = true)
(일부 메소드)이있는 경우 자식에서 부모 메소드를 호출하면 어떻게됩니까?트랜잭션은 추상 서비스와 작동합니까? 왜냐하면 내가 아는 바로는 추상 서비스로 빈을 초기화 할 수 없기 때문에 애플리케이션을 시작할 때 Grails 컨텍스트에 약간의 차이가 있기 때문이다./봄 통합이 커밋하기 전에 플러시가 발생되도록 최대 절전 모드 -
굉장! 명확한 답변을 해주셔서 고맙습니다. 하지만 역순으로 포인트 3을 살펴 보겠습니다. 부모 서비스 A는 클래스 수준에서 @ 주석으로 표시되고 A에서 doParent() 메소드는 readOnly = true이고 하위 서비스 B에는 트랜잭션에 대한 특정 구성이 없습니다. 왜 내가 B에서 doParent()를 호출합니까? readOnly를 강요하지만 여전히 데이터를 플러시합니까? –