java - 将连接表引用到 View

标签 java hibernate jpa orm entity-relationship

我有一个实体MorningMinutesNote,它使用连接表morning_minutes_note_item_type与MorningMinutesNoteType具有@ManyToMany关系。

@Entity
@Table(name = "morning_minutes_note", schema = "public")
public class MorningMinutesNote {
  private List<MorningMinutesNoteType> itemTypes = new ArrayList<MorningMinutesNoteType>();

  @ManyToMany
  @JoinTable(name="morning_minutes_note_item_type",
        joinColumns=@JoinColumn(name="morning_minutes_note_id",updatable=false,insertable=false),
        inverseJoinColumns=@JoinColumn(name="item_type_id",updatable=false,insertable=false))
  public List<MorningMinutesNoteType> getItemTypes() {
    return itemTypes;
  }
<小时/>
CREATE TABLE morning_minutes_note_item_type(
  morning_minutes_note_item_type_id BIGINT PRIMARY KEY DEFAULT NEXTVAL('morning_minutes_note_item_type_id_seq'),
  morning_minutes_note_id BIGINT NOT NULL,
  item_type_id BIGINT NOT NULL
);

我创建了一个 View 表view_morning_minutes_note,它使用morning_minutes_note作为主表。如何引用 MorningMinutesNoteType 列表 也到 View 表,以便我也可以从 ViewMorningMinutesNote 获取列表。我不知道这是否可能,但我尝试添加 MorningMinutesNote 的确切注释 到 ViewMorningMinutesNote 但它没有获取任何内容。

@Entity
@org.hibernate.annotations.Entity(selectBeforeUpdate = false,dynamicInsert = true, dynamicUpdate = true)
@Table(name = "view_morning_minutes_note", schema = "public")
public class ViewMorningMinutesNote{

  private List<MorningMinutesNoteType> itemTypes = new ArrayList<>();

最佳答案

如果您需要直接访问JoinTable,您可以使用FluentJPA能够公开 join table for queries .

关于java - 将连接表引用到 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58448958/

相关文章:

java - 表不是由 hibernate 的 hbm2ddl 创建的

java - Hibernate 映射文件的替代位置?

java - Hibernate:内部类值未在数据库中更新

java - 实现还是扩展?

java - 使用jetty服务器在eclipse中进行远程调试

java - Android NDK OpenGL ES 渲染图形到 Java 位图

java - 将 BigDecimal 转换为数组中的字符串

hibernate 异常 : Could not instantiate dialect class when using HTTPS for GWT

java - 无法找到逻辑名称为 @embeddedid 的列

spring - JPA entityManager 不保存数据,flush 抛出 "no transaction in progres"异常