本文介绍了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中的多对多链接表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!