繁体   English   中英

如何使用 Spring 数据 Jpa 中的多对多表中的列?

[英]How to work with column in many-to-many table in Spring Data Jpa?

我有实体用户和事件。 我的数据库中有三个表:“users”、“events”和“users_events”,用于保存用户和事件之间的多对多关系。 当用户订阅一个事件时,应该节省订阅时间。 我在表“users_events”中添加了新列“subscription_date”。 我应该如何使用 Spring 数据 JPA 和 Hibernate 作为 Z8B8A92C27C4DD79F101698D76 来编写和阅读本专栏我尝试使用本机 SQL 查询在 UserRepository 中定义新方法,但它不起作用。

@Modifying
@Query(
 value = "UPDATE users_events SET subscribed_date = :date " +
       "WHERE event_id = :event_id AND subscribed_user_id = :user_id",
 nativeQuery = true)
    public void saveSubscribedDate(
            @Param("user_id") int user_id,
            @Param("event_id") int event_id,
            @Param("date") LocalDateTime date);
}




您必须为其创建三个实体类。

  1. 用户
  2. 事件
  3. 用户事件

尝试这样的事情:

@Entity
class User {
   ...
   @ManyToMany(manpedby="event")
   Collection<Event> events;
   ...
}

@Entity
class Event {
    ...
    @ManyToMant(mappedby="user")
    Collection<User> user;
    ...
}

@Entity
class UsersEvents {
   private User user;
   private Event event;
   private Date date;
   ...
}

以及各自的三个存储库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM