2010-08-01 5 views

답변

6

도메인 클래스에 Map 속성을 추가하고 임의의 데이터를 저장할 수 있습니다. 그것은 다소 제한적입니다. varchar (255) 키와 값이있는 테이블을 생성하므로 모든 유형 변환을 직접 관리해야합니다. 간단한 온라인 문서에 대한 http://grails.org/doc/latest/에서

class Thing { 
    String name 
    Map extraProperties = [:] 
} 

int age = 123 
def thing = new Thing(name: 'whatever') 
thing.extraProperties.age = age.toString() 
thing.save() 

... 

def thing = Thing.get(thingId) 
int age = thing.extraProperties.age.toInteger() 

항을 참조 "5.2.4 세트, 목록 및지도."

+0

유형 안전성 또는 추상화가 없습니다. – duffymo

+0

그래서 동적으로 수행하려는 경우 - 난 어쩌면 유형을 저장하거나지도에 넣어 추가지도가 필요합니다 유형 설명 할 것이다 속성을 가진 클래스 : 클래스 extraProp { INT 타입 코드 문자열 값 } –

+1

을 @duffymo 유형 안전성과 추상화는 요구 사항에서 언급되지 않았습니다. –

0

당신처럼 소리

덕분에,

Meni 응용 프로그램은 사용자가 마음대로 수정할 수 있습니다 무한히 조절 렌치가되고 싶어요. 그게 공평하니?

나는 그것이 가능하거나 바람직하지 않다고 생각합니다. Grails의 기존 도메인 객체에 속성을 추가 할 때 어떤 일이 일어나는지 생각해보십시오. 속성이 ORM 매핑에 추가됩니다. 즉, 테이블을 수정해야합니다. UI에는 데이터 입력을 위해 추가 된 다른 텍스트 상자가 있습니다. 목록 페이지에는 테이블에 다른 열이 추가됩니다.

속성을 추가 할 때 많은 일이 있습니다. 앱을 동시에 수정하는 여러 사용자를 어떻게 관리 하시겠습니까? 다른 사용자가 이전 버전에 액세스하는 동안 한 사용자가 표를 수정하면 어떻게됩니까?

너무 많이 물어보십시오. 나는 그것이 합리적인 요구 사항이라고 생각하지 않는다. Grails의 장점은 웹 기반 CRUD 애플리케이션의 빠른 개발입니다. 나는 그것이 런타임에 사용자에 의한 수정을 포함한다고 생각하지 않는다.

+0

이 요구 사항은 많은 시스템에 존재하며 구현됩니다. 그래서 나는 내가 너무 많이 묻는다고 생각하지 않는다. 어쩌면 구현은 복잡하지만 실행 가능합니다. 몇 년 전에 JEE 애플리케이션에서 해본 결과, Grails에서 개발자가 얻은 도움과 아이디어를 기꺼이 받아 볼 수 있습니다. –

+0

Grails가 기술적으로 부적절한 동안 포스터와 동의하면 잘못된 기술입니다. 어셈블리에 stackoverflow.com을 작성할 수 있지만 관련된 모든 추가 작업을 고려할 때 좋지는 않습니다. – Jared

+0

매우 건설적이 아님 – Thermech