Есть таблица TABLE в PostgreSQL, у которой n партиций (TABLE_1, TABLE_2, ..., TABLE_n). Есть триггер, который при вставке в таблицу TABLE, вставляет данные в партицию. Триггер:
IF (NEW.program_id=1) THEN INSERT INTO st.table_1 VALUES (NEW.*);
ELSIF (NEW.program_id=2) THEN INSERT INTO st.table_2 VALUES (NEW.*);
....
return NEW;
Есть объект
@Entity
@Table(name = "TABLE", schema = "st")
public class TABLE implements Serializable {
@Getter
@Setter
@Column(name = "id", nullable = false, insertable = false, columnDefinition = "integer auto_increment")
private Integer id;
@Getter
@Setter
@Column(name = "program_id", nullable = false)
private Integer programId;
.... }
Также есть JpaRepository
public interface TableRepository extends JpaRepository<TABLE, Integer> {}
Так вот, при сохранении объекта TABLE
TableRepository.save(myTable);
запись дублируется... Как сделать так, что запись была только в партиции?? В чем именно ошибка? в коде или в триггере?