Grailsで既存のデータベースを使用しようとしています。私DataSource.groovyはこれで始まり:Grails @Id Annotationを無視する
import org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsAnnotationConfiguration
dataSource {
configClass = GrailsAnnotationConfiguration.class
pooled = true
driverClassName = "com.mysql.jdbc.Driver"
username = "root"
password = "12345"
}
次のように私は私のクラスに注釈を付けていますので、
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
:
@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;
}
. . .
を私は次のエラーを取得する生成されたコードを実行するとGrailsはregexp_idの@Idアノテーションを無視しているようです。 その中心ですか?
データベースを変更して、regexp_idの代わりにidを使用する予定です。しかし、私はあまりにもすべきではありません。
アイデア?
ありがとうございます!
プライマリキーをidに変更し、pojoをregennedしてgrailsアプリケーションを再起動して、今すぐ動作します。しかし、私はすべての主要フィールドを単にidと呼ぶという考えが嫌いです。プラス私はドロップして、すべての私の外来のキー制約を作成しました。だから私はまだ解決策を望んでいる。 –