私は2つの休止状態のエンティティ:Kennel
とDog
を持っています。Hibernate:年齢に基づいてオブジェクトを注文する
私のデータベースにある「最も古い」ケンネルが何であるかを判断する方法を書いてみたいと思います。
ケンネルエンティティに「作成済み」または同様の列があるが、がではない場合は、これは簡単なことです。
しかし、私のDogエンティティにはBORN column
にマップするborn
フィールド(DateTime)があります。私はそれ最古の犬を持っているによって最古の犬小屋を定義したいと思い、この犬のフィールドを使用して
。
犬は多くの犬を持つことができますが、犬は1つの犬舎しか持つことができません。
どうすればいいですか?
エンティティ:
ケンネル:
@Entity
@Table(name = "KENNEL")
public class Kennel
{
@Id
private String id;
@Column(name = "LOCATION")
private String location;
}
犬:
@Entity
@Table(name = "DOG")
public class Dog
{
@Id
private String id;
@Column(name = "NAME")
private String name;
@Column(name = "BORN")
private DateTime created;
@Column(name= "KENNEL_ID)
private String kennelId;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "KENNEL_ID")
private Kennel kennel;
}
ありがとうございます。しかし、私はどのようにして残りの犬小屋も注文しますか?私。最も古いものから最も若いものまで? – java123999
クエリの最後に 'LIMIT 1'を削除するだけです。それは、最も古いものから最も若いものに命じられた犬舎の全リストを返します。 – SarathChandra
ありがとう、これを使用する例を教えてもらえますか?申し訳ありませんが、SQLクエリを使用するのが非常に新しいです – java123999