2012-01-27 151 views
1

正常情况下,为了实现链接对象,我通常使用getter和setter方法,这样我就可以将不同类型的对象添加到另一个对象中。Ruby中has_many和belongs_to的等价关系

我现在已经碰到过这样的红宝石结构,e.g:

class Article < ActiveRecord::Base 
    has_many :comments 
end 
class Comments < ActiveRecord::Base 
    belongs_to :article 
end 

你能告诉我这是什么has_many和Java中belongs_to的等价物。基本上我想将一些类似的数据结构从Ruby转换成Java。

+0

这些方法是Ruby的'ActiveRecord' [ORM框架]特有的(http://en.wikipedia.org/wiki/Object-relational_mapping)。指定您在Java项目中使用的ORM(Hibernate,Spring ...)? – 2012-01-27 13:36:12

+0

谢谢@AlexKliuchnikau指出。我仍然是一个新手,我猜我必须先阅读Java的ORM框架。 – Johnydep 2012-01-27 13:56:57

回答

3

高度依赖于您正在使用的ORM。大多数人(我认为)人们会在Java中使用Hibernate。使用Hibernate,您可以对注释关系进行非常类似的注释。

@OneToMany@ManyToOne注释似乎是您可能需要仔细观察的注释。

Article类:

public class Article { 
    @OneToMany(mappedBy = "belongsTo") 
    private List<Comment> comments; 
    [...] 
} 

评论类:

public class Comment { 
    @ManyToOne 
    private Article belongsTo; 
    [...] 
} 

如果你想使用其他ORM,恐怕我不能帮你了:)

+0

谢谢,实际上我对ORM没有太多经验,所以我将不得不通过文档。 – Johnydep 2012-01-27 13:56:12

+0

如果原始帖子来自您的项目之一,那么学习java ORM框架应该不会太困难:)我强烈建议看看休眠:) – chzbrgla 2012-01-27 14:02:21

1

一个Article有一个Comment s的集合。每个Comment都有其参考Article

如果您询问特定的ORM,您需要指明哪一个。

相关问题