本文介绍了grails(GORM)/ hibernate中的多对多链接表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在和Grails玩,我发现ORM的东西很乏味,因为我没有完全理解我在做域类时做了什么。我希望有人能让我回到正轨上



考虑以下内容:

测试工作一:许多硬件用于作业许多:一个物理硬件



...类似于传统Order,OrderLine,在大学数据库示例中看到的产品方案



我创建了以下域类

  class Job 
{
String jobName
String jobDescription
}
$ b $ class HardwareOnJob
{
static hasMany = [作业:作业,physicalHardware:PhysicalHardware]
static belongsTo =作业

字符串角色
}

类PhysicalHardware
{
字符串assetName
字符串模型
字符串os
}

我需要问的是,为什么Grails会在我的数据库中为我创建两个额外的表格,而不是使用我定义的链接实体/域类。例如,Grails会在数据库中创建hardware_on_job_job和hardware_on_job_physical_hardware。

使用脚手架控制器,我可以输入一些硬件,输入工作,然后将两者连接在一起。我的问题是为什么它会创建这两个额外的表,而不是使用我指定的域对象(HardwareOnJob)。

任何帮助/指导都会非常感激,因为会坚持看着这个并尝试新事物。顺便说一下,我在grails版本1.2.1上

解决方案

查看关键字其中:

Here is the example from the user guide:

class Book {
    String title
    static belongsTo = Author
    static hasMany = [authors:Author]

    static mapping = {
        authors joinTable:[name:"mm_author_books", key:'mm_book_id' ]
    }
}
class Author {
    String name
    static hasMany = [books:Book]

    static mapping = {
        books joinTable:[name:"mm_author_books", key:'mm_author_id']
    }

}

这篇关于grails(GORM)/ hibernate中的多对多链接表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 09:00
查看更多