Я пытаюсь создать групповую сущность, в которой есть создатель, несколько администраторов и несколько членов.
Вот мой класс сущностей:
@Entity
@Table(name = "user_group")
@Data
public class Group implements IPublicEntity<Group> {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "group_id", updatable = false)
@JsonIgnore
private int id;
@NotEmpty
@Column(name = "group_name", unique = true)
@Size(max = 50)
private String groupName;
@OneToOne(cascade = CascadeType.MERGE)
@JoinColumn(name = "creator")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "publicId")
@JsonIdentityReference(alwaysAsId = true)
ApplicationUser creator;
@OneToMany(cascade = CascadeType.MERGE, orphanRemoval = true)
@JoinTable(name = "group_admin",
joinColumns = @JoinColumn(name = "group_id"),
inverseJoinColumns = @JoinColumn(name = "app_user_id"))
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "publicId")
@JsonIdentityReference(alwaysAsId = true)
List<ApplicationUser> admins = new ArrayList<>();
@OneToMany(cascade = CascadeType.MERGE, orphanRemoval = true)
@JoinTable(name = "group_member",
joinColumns = @JoinColumn(name = "group_id"),
inverseJoinColumns = @JoinColumn(name = "app_user_id"))
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "publicId")
@JsonIdentityReference(alwaysAsId = true)
List<ApplicationUser> members = new ArrayList<>();
}
sql table:
user_group (
group_id SERIAL PRIMARY KEY,
group_name VARCHAR(50) NOT NULL,
creator INTEGER NOT NULL REFERENCES app_user (app_user_id)
);
group_admin (
group_id INTEGER NOT NULL REFERENCES user_group (group_id),
user_id INTEGER NOT NULL REFERENCES app_user (app_user_id),
PRIMARY KEY (group_id, user_id)
);
group_member (
group_id INTEGER NOT NULL REFERENCES user_group (group_id),
user_id INTEGER NOT NULL REFERENCES app_user (app_user_id),
PRIMARY KEY (group_id, user_id)
);
Когда я пытаюсь добавить участника в группу и сохранить группу, выдается ошибка ERROR: column members0_.app_user_id does not exist
Position: 2519
.Но я уже настроил приложение для просмотра таблицы group_member вместо таблицы по умолчанию.Почему это все-таки выдает ошибку.
Спасибо.