質問

Grailsで既存のデータベースを使用しようとしています。私のDataSource.groovyはこれで始まります:

import org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsAnnotationConfiguration
dataSource {
    configClass = GrailsAnnotationConfiguration.class
    pooled = true
    driverClassName = "com.mysql.jdbc.Driver"
    username = "root"
    password = "12345"

}

次のようにクラスに注釈を付けています:

@Entity
@Table(name = "regexpression", catalog = "tigger")
@SuppressWarnings("serial")
public class Regexpression implements Serializable {

    /**
     * Attribute regexpId.
     */
    private Integer regexpId;

    . . . 

    /**
     * <p> 
     * </p>
     * @return regexpId
     */
    @Basic
    @Id
    @GeneratedValue
    @Column(name = "regexp_id")
        public Integer getRegexpId() {
        return regexpId;
    }
        . . . 

生成されたコードを実行すると、次のエラーが表示されます。

org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error evaluating expression [regexpressionInstance.id] on line [40]: groovy.lang.MissingPropertyException: No such property: id for class: org.maflt.flashlit.pojo.Regexpression

したがって、Grailsはregexp_idの@Idアノテーションを無視しているようです。 それはコレクトですか?

regexp_idの代わりにidを使用するようにデータベースを変更する予定です。しかし、私も持ってはいけません。

アイデアはありますか

ありがとう!

役に立ちましたか?

解決

うーん、整数フィールドIDに名前を付けて、テーブルのregexp_id列にそのプロパティをポイントする@Columnアノテーションを付けるだけで済みます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top