当前位置:   article > 正文

Java表分区:使用JPA实现表的分区插入

java业务插入分区表

我在PostgreSQL中有一个TABLE,其中有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时:

TableRepository.save(myTable);

记录重复…几个表中的一个记录表,分区中的第二个记录…

如何制作仅在分区中的记录?

UPD.

我的@SQLInsert示例

@SQLInsert(sql = "INSERT INTO store.invoice(id,program_id,db_id,acs_number,is_active,date_doc,summa,is_entry," +

"invoice_type_id,from_id,to_id,from_req_id,to_req_id,agent_id,offic,bn,date_create,date_update," +

"offic_number,comment,date_ship,is_edited,store_rule_id,inv_cc_days,fact_date_doc,update_id,store_doc," +

"order_num,parent_num,addition_num,user_create,user_update,place_id,type_data_col_id,contract_id," +

"delivery,cert_num,uid,original_uid,date_return,reason_get_back_id,entry_night,send_stm,time_send_stm," +

"invoice_type_for_1c,isa_id,isa_status_id,uid_ishop_id,delivery_ag_id,fraction_offic_number," +

"forwarder_id,declarant_id,ext_locked,declarant_employee_num,revision_id,src_doc_sum,op_num," +

"is_factoring,is_add_2amounts,is_load_2isa,num_sf,id_from_1c)" +

"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", check = ResultCheckStyle.NONE)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/173730
推荐阅读
相关标签
  

闽ICP备14008679号