zoukankan      html  css  js  c++  java
  • 关于onetoone 的2张表关联中间表的策略

    ProductCategoryVO.java  中间关联表
    package com.syscxp.header.billing;
    
    import com.syscxp.header.search.SqlTrigger;
    import com.syscxp.header.search.TriggerIndex;
    import javax.persistence.*;
    import java.sql.Timestamp;
    
    @Table
    @Entity
    @Inheritance(strategy = InheritanceType.JOINED)
    @TriggerIndex
    @SqlTrigger(foreignVOClass = AccountDiscountVO.class, foreignVOJoinColumn = "uuid")
    public class ProductCategoryVO {
        @Id
        @Column
        private String uuid;
        @Column
        @Enumerated(EnumType.STRING)
        private Category code;
        @Column
        private String name;
        @Column
        @Enumerated(EnumType.STRING)
        private ProductType productTypeCode;
        @Column
        private String productTypeName;
        @Column
        private Timestamp createDate;
        @Column
        private Timestamp lastOpDate;
    
        public String getUuid() {
            return uuid;
        }
    
        public void setUuid(String uuid) {
            this.uuid = uuid;
        }
    
        public Category getCode() {
            return code;
        }
    
        public void setCode(Category code) {
            this.code = code;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public ProductType getProductTypeCode() {
            return productTypeCode;
        }
    
        public void setProductTypeCode(ProductType productTypeCode) {
            this.productTypeCode = productTypeCode;
        }
    
        public String getProductTypeName() {
            return productTypeName;
        }
    
        public void setProductTypeName(String productTypeName) {
            this.productTypeName = productTypeName;
        }
    
        public Timestamp getCreateDate() {
            return createDate;
        }
    
        public void setCreateDate(Timestamp createDate) {
            this.createDate = createDate;
        }
    
        public Timestamp getLastOpDate() {
            return lastOpDate;
        }
    
        public void setLastOpDate(Timestamp lastOpDate) {
            this.lastOpDate = lastOpDate;
        }
    }
    

     

     

    ProductPriceUnitVO  关联ProductCategoryVO的uuid
    package com.syscxp.header.billing;
    
    import com.syscxp.header.search.SqlTrigger;
    import com.syscxp.header.search.TriggerIndex;
    
    import javax.persistence.*;
    import java.sql.Timestamp;
    
    @Entity
    @Table
    @Inheritance(strategy = InheritanceType.JOINED)
    @TriggerIndex
    @SqlTrigger
    public class ProductPriceUnitVO {
    
        @Id
        @Column
        private String uuid;
    
        @Column
        private String productCategoryUuid;
    
        @Column
        private String areaCode;
    
        @Column
        private String areaName;
    
        @Column
        private String lineCode;
    
        @Column
        private String lineName;
    
        @Column
        private String configCode;
    
        @Column
        private String configName;
    
        @Column
        private int unitPrice;
    
        @Column
        private Timestamp createDate;
    
        @Column
        private Timestamp lastOpDate;
    
        @OneToOne
        @JoinColumn(name="productCategoryUuid",referencedColumnName = "uuid",insertable = false,updatable = false)
        private ProductCategoryVO productCategoryVO;
    
    
        public String getUuid() {
            return uuid;
        }
    
        public void setUuid(String uuid) {
            this.uuid = uuid;
        }
    
        public String getProductCategoryUuid() {
            return productCategoryUuid;
        }
    
        public void setProductCategoryUuid(String productCategoryUuid) {
            this.productCategoryUuid = productCategoryUuid;
        }
    
        public String getAreaCode() {
            return areaCode;
        }
    
        public void setAreaCode(String areaCode) {
            this.areaCode = areaCode;
        }
    
        public String getAreaName() {
            return areaName;
        }
    
        public void setAreaName(String areaName) {
            this.areaName = areaName;
        }
    
        public String getLineCode() {
            return lineCode;
        }
    
        public void setLineCode(String lineCode) {
            this.lineCode = lineCode;
        }
    
        public String getLineName() {
            return lineName;
        }
    
        public void setLineName(String lineName) {
            this.lineName = lineName;
        }
    
        public String getConfigCode() {
            return configCode;
        }
    
        public void setConfigCode(String configCode) {
            this.configCode = configCode;
        }
    
        public String getConfigName() {
            return configName;
        }
    
        public void setConfigName(String configName) {
            this.configName = configName;
        }
    
        public Timestamp getCreateDate() {
            return createDate;
        }
    
        public void setCreateDate(Timestamp createDate) {
            this.createDate = createDate;
        }
    
        public Timestamp getLastOpDate() {
            return lastOpDate;
        }
    
        public void setLastOpDate(Timestamp lastOpDate) {
            this.lastOpDate = lastOpDate;
        }
    
        public int getUnitPrice() {
            return unitPrice;
        }
    
        public void setUnitPrice(int unitPrice) {
            this.unitPrice = unitPrice;
        }
    
        public ProductCategoryVO getProductCategoryVO() {
            return productCategoryVO;
        }
    
        public void setProductCategoryVO(ProductCategoryVO productCategoryVO) {
            this.productCategoryVO = productCategoryVO;
        }
    
        @PreUpdate
        void preUpdate() {
            lastOpDate = null;
        }
    }
    

      

    AccountDiscountVO关联ProductCategoryVO的uuid
    package com.syscxp.header.billing;
    
    import com.syscxp.header.search.SqlTrigger;
    import com.syscxp.header.search.TriggerIndex;
    import javax.persistence.*;
    import java.sql.Timestamp;
    @Entity
    @Table
    @Inheritance(strategy = InheritanceType.JOINED)
    @TriggerIndex
    @SqlTrigger
    public class AccountDiscountVO {
        @Id
        @Column
        private String uuid;
        @Column
        private String accountUuid;
        @Column
        private String productCategoryUuid;
        @OneToOne(fetch = FetchType.EAGER)
        @JoinColumn(name="productCategoryUuid",insertable = false,updatable = false)
        private ProductCategoryVO productCategoryEO;
        @Column
        private int discount;
        @Column
        private Timestamp createDate;
        @Column
        private Timestamp lastOpDate;
        public String getUuid() {
            return uuid;
        }
        public void setUuid(String uuid) {
            this.uuid = uuid;
        }
        public String getAccountUuid() {
            return accountUuid;
        }
        public void setAccountUuid(String accountUuid) {
            this.accountUuid = accountUuid;
        }
        public int getDiscount() {
            return discount;
        }
        public void setDiscount(int discount) {
            this.discount = Math.abs(discount);
        }
        public Timestamp getCreateDate() {
            return createDate;
        }
        public void setCreateDate(Timestamp createDate) {
            this.createDate = createDate;
        }
        public Timestamp getLastOpDate() {
            return lastOpDate;
        }
        @PreUpdate
        void preUpdate() {
            lastOpDate = null;
        }
        public void setLastOpDate(Timestamp lastOpDate) {
            this.lastOpDate = lastOpDate;
        }
        public String getProductCategoryUuid() {
            return productCategoryUuid;
        }
        public void setProductCategoryUuid(String productCategoryUuid) {
            this.productCategoryUuid = productCategoryUuid;
        }
        public ProductCategoryVO getProductCategoryVO() {
            return productCategoryEO;
        }
        public void setProductCategoryVO(ProductCategoryVO productCategoryEO) {
            this.productCategoryEO = productCategoryEO;
        }
    }
    

      

  • 相关阅读:
    Valid Palindrome
    Path Sum II
    Reverse Integer
    Palindrome Number
    ZigZag Conversion
    函数调用堆栈 涉及汇编(转)
    关于字符指针和字符数组初始化的问题
    Remove Element(第一种方法参考别人)
    c内存分配(转)
    int *ptr=(int *)(&a+1)问题的探讨
  • 原文地址:https://www.cnblogs.com/zqyanywn/p/7766759.html
Copyright © 2011-2022 走看看