2012-01-27 11 views
1

通常、リンクされたオブジェクトを実現するために、私は通常getterとsetterメソッドを使用します。この方法で別のオブジェクトを別のオブジェクトに追加します。JavaでRUBY has_manyとbelongs_to関係に相当する

は、今私は例えば、このRubyの構造に遭遇しています

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

あなたはJavaでこのhas_manybelongs_toと同等であるものを私に伝えることができます。基本的に私はRubyからJavaに類似のデータ構造を翻訳したいと思っています。

+0

これらのメソッドRubyの 'ActiveRecord' [ORMフレームワーク](http://en.wikipedia.org/wiki/Object-relational_mapping)に特有のものです。 Javaプロジェクト(Hibernate、Spring ...)で使用しているORMを指定しますか? –

+0

ありがとう@AlexKliuchnikau指摘してください。私はまだ初心者です、私は最初にJava用のORMフレームワークを読む必要があると思います。 – Johnydep

答えて

3

使用しているORMによって大きく異なります。ほとんどの人がjavaでHibernateを使う予定です。 Hibernateを使用すると、かなり類似した関係に注釈を付けることができます。

@OneToMany@ManyToOne注釈は、あなたが注意しなければならないようなものです。

条クラス:

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

Commentクラス:

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

あなたは別のORMを使用したい場合、私はあなたを助けることができない怖い:)

+0

ありがとう、実際に私はORMの経験はあまりありませんので、私はドキュメントを読む必要があります。 – Johnydep

+0

元の投稿があなたのプロジェクトのものであれば、Java ORMフレームワークを学ぶのは難しいことではありません:)私は非常に冬眠を見ていることを強くお勧めします:) – chzbrgla

1

Articleは、Commentのコレクションを持っています。各Commentには、そのArticleへの参照があります。

特定のORMについて質問する場合は、どのORMを示す必要がありますか。

関連する問題