Grails, игнорирующая аннотацию @Id - PullRequest
0 голосов
/ 17 июня 2009

Я пытаюсь использовать существующую базу данных с 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 игнорирует аннотацию @Id для regexp_id. Это сердцевина?

Я планирую изменить базу данных, чтобы использовать идентификатор вместо regexp_id. Но я не должен был тоже.

Есть идеи?

Спасибо!

1 Ответ

0 голосов
/ 18 июня 2009

Хм, возможно, вам не удалось присвоить имя поля Integer, а затем просто поместить аннотацию @Column, чтобы указать это свойство на столбец regexp_id в таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...