【问题标题】:Grails - Hibernate - cannot create model class / tableGrails - Hibernate - 无法创建模型类/表
【发布时间】:2013-09-11 07:48:40
【问题描述】:

我有 Grails(2.2.1) 项目,想用 Hibernate 创建简单的“模型”类

@Entity
@Table(name="User")
class User {

    static mapping = {
        datasource 'system'
    }

    @Id
    @GeneratedValue
    @Column(name="id")
    private Long userId;

    @Column(name="email", nullable=false)
    private String email;

    public User(){

    }

    @Transient
    public Long getUserId(){
        return this.userId;
    }

    @Transient
    public String getEmail(){
        return this.email;
    }

}

但我收到以下错误:

Caused by MappingException: Could not determine type for: org.springframework.validation.Errors, at table: user, for columns: [org.hibernate.mapping.Column(errors)]
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run . . . in java.lang.Thread

当我删除所有休眠注释时,应用程序部署在服务器上,但表用户只有两个属性(id、版本)。

感谢您的帮助!

【问题讨论】:

  • 小问题:为什么是 Hibernate,而不仅仅是一个“普通”域对象?
  • 我习惯使用 hibernate(来自其他项目),现在我在 grails 中有项目 - 所以我想知道是否可以“绑定 grails 和 hibernate”
  • 不确定您的意思。 Grails 在后台使用 Hibernate,所以它已经“绑定”了。如果您在“grails-app/domain”目录中创建用户类,它将使用 Hibernate 自动持久化。
  • 问题“几乎”解决了。我在“grails domain”文件夹中创建我的域类。当我将它们移动到 java 类的“标准”文件夹中时,应用程序已成功构建/部署。 Hibernate 只是不在数据库中创建表 - 但这只是数据源的问题(在部署 hibernate 时试图从日志中创建表,但它不成功)。
  • 你需要通过这个page。简而言之,您还需要hibernate.cfg.xml。如果可行,我第二次@ErikPragt 使用域类。熟悉它会帮助你从长远来看。 走出不适区,享受 Grails 和 GORM 的幸福。这就是为什么我们在使用 Grails 时会说“搜索结束”。

标签: java hibernate grails


【解决方案1】:

将您的域类移动到 grails-app/domain 并将其更改为:

class User {
    String email

    static mapping = {
        datasource 'system'
    }

    static constraints = {
        email nullable: false
    }
}

11 行与 31 行。时髦的。

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多