Hibernateエンティティクラスで次のタイプの関係を作成するには? ユーザーは、メッセージ (送信者、受信者、メッセージ) を作成して、別のユーザーにメッセージを送信します。DB は次のようになります。
+-----------------------------------+
| user |
+-----------------------------------+
| id | nickname | password |
+----+-------------+----------------+
| 1 | admin | pass |
+----+-------------+----------------+
+------------------------------------------------+
| message |
+-----------------------------------|------------+
| id | sender_id | receiver_id | message_t |
+----+-------------+----------------+------------+
| 1 | 10 | 12 | hi |
+----+-------------+----------------+------------+
エンティティ クラスはどのように見える必要がありますか?
@Entity
@Table(name="profiles")
public class Message {
@Id
@Column(name="id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JoinColumn(name = "sender")
private User sender;
@ManyToOne
@JoinColumn(name = "receiver")
private User receiver;
@Column(name = "message")
String message;
}
@Entity
@Table(name = "users")
public class User {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy = )
List<Message> messages;
}
によってマッピングされた..何?現在のユーザーが送信者 OR/AND 受信者として存在するすべてのメッセージを検索する必要があります。(「AND」は、ユーザーが自分自身にメッセージを送信できるためです)。