私はSpring MVCを使用してWebアプリケーションを実装しています。私のアプリケーションでは、通知サービスを実装する必要があります。ここに通知のデータベーステーブルがあります。Spring MVC:1対多の関係でデータを処理しますか?
CREATE TABLE `notification` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
`message` varchar(100),
`dateAndTime` time DEFAULT NULL,
`read` tinyint(1) NOT NULL DEFAULT '0',
`notificationType` int(11) DEFAULT NULL,
`userId` bigint(20),
FOREIGN KEY (`userId`) REFERENCES `application_user` (`id`)
);
ここで、userIdは、通知を送信するユーザーのIDです。これは、1人のユーザーでも複数のユーザーでもかまいません。これはnotificationTypeの値に依存します。ここに私がこれについて書いたドメインモーダルがあります。
@Entity
@Table(name = "notification")
public class Notification {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private Long id;
private String message;
@DateTimeFormat(pattern = "yy-MM-dd-hh-mm")
private Date dateAndTime;
private boolean read;
public static enum NotificationType{
SINGLE_USER, MULTIPLE_USER
}
//@OneToMany
//@JoinColumn(name="type")
//private User user;
ApplicationUser applicationUser;
private NotificationType notificationType = NotificationType.SINGLE_USER;
......
ここでは1対多の関係を実装する方法が明確ではありません。私はmysqlクエリが上記の条件で正確であることを願っています。これで私を助けてください。
編集:
NotificationTypeを= SINGLE_USERの場合、私は一人のユーザに通知を送信する必要があります。 NotificationType = MULTIPLE_USERの場合は、複数のユーザーに通知する必要があります。
ManyToMany関係が必要です。多くの通知は多くのユーザーを参照できます。 – Kayaman