-1

grailsドメインクラスについてかなり簡単な質問があります。グーグルで答えが見つからないので、正しく表現する方法がわかりません。

グルーヴィーなドメインクラスがあります

class DomainObject {
    String name
    String email
}

そして、このドメインオブジェクトを使用するJavaクラス。

public class DomainUser {
    public void method() {
        DomainObject object = new DomainObject();
        object.getId();
    }
}

ただし、回線でエラーが発生します

object.getId();

メッセージ付き:

メソッドgetId()はタイプに対して未定義です

idはgrailsアプリケーション/hibernateによって自動生成されるため、Javaクラスに公開するにはどうすればよいですか?

4

1 に答える 1

1

Idフィールドは実行時に生成され、Javaは動的参照について何も知りません。サービス層からそのドメインにアクセスします。 http://grails.org/doc/latest/guide/services.html#usingServicesFromJava

また、グーグル:「grailsアクセスサービスjava」

最初の結果はhttp://grails.1312388.n4.nabble.com/Question-How-do-I-reference-a-Grails-service-from-within-Java-class-td1462056.htmlです。

DomainService.groovyにこのようなものを書くことができます

class DomainService(){
    def persistAndGetNewDomain(){
       new Domain().save(flush:true)    
    }
}

また、ドメインクラスにidフィールドを追加する必要があります

class DomainObject {
    Long id
    String name
    String email
}
于 2012-12-08T11:33:58.970 に答える