0
我正嘗試在Grails中使用現有的數據庫。我DataSource.groovy的啓動與此:忽略@Id註釋的Grails
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註解。 是那個核心?
我打算更改數據庫以使用id而不是regexp_id。但我不應該也有。
任何想法?
謝謝!
我將主鍵更改爲id,重新創建了pojo,重新生成了grails應用程序,現在它可以工作。但我不喜歡把每個關鍵字段都稱爲id的想法。另外我已經下降並創建了所有我的外鍵約束。所以我仍然希望有一個解決方案。 – 2009-06-16 22:08:23