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;
}
}

  

关于onetoone 的2张表关联中间表的策略的更多相关文章

  1. mysql之表与表关联和表操作

    一 表于表之间的关联 foregin key:设置外键表于表之间建立关联. 多对一关联: 创建步骤,应该先创建好被关联的那一张表,然后再去创建关联的那一张表. 关联表的多条对应着被关联的那张表的一条记 ...

  2. mybatis 框架 的应用之三(操作两张没有关联的表,存在主键和外键关系)

    #注意:要配置开启多条语句操作,否则会报错( org.apache.ibatis.exceptions.PersistenceException) lf-driver=com.mysql.jdbc.D ...

  3. yii2 ActiveRecord多表关联以及多表关联搜索的实现

    作者:白狼 出处:http://www.manks.top/yii2_many_ar_relation_search.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明 ...

  4. yii2表关联实例

    yii2表关联 1.两张表关联,以“商品表关联品牌表”为例 控制器中: $goods_model=new Goods(); $goods_info=$goods_model::find()->j ...

  5. MyBatis学习总结(三)——多表关联查询与动态SQL

    在上一章中我们学习了<MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射>,这一章主要是介绍一对一关联查询.一对多关联查询与动态SQL等内容. 一.多表关联查询 表与 ...

  6. Python-多表关联 外键 级联

    分表为什么分表 多表关联多表关系 ****** 表之间的关系 为什么要分表 多对一 一个外键 多对多 一个中间表 两个外键 一对一 一个外键加一个唯一约束外键约束 ****** foreign key ...

  7. 用SQL数据库做多表关联应怎样设计库结构20170527

    http://77857.blog.51cto.com/67857/143872/ 多表关联的话表之间必须得存在关系才行呢,这样建立外键约束就行了, 关系表中插入主表的主键做外键. 假设表1学生表st ...

  8. Oracle 数据库(oracle Database)Select 多表关联查询方式

    Oracle数据库中Select语句语法及介绍 SELECT [ ALL | DISTINCT ] <字段表达式1[,<字段表达式2[,…] FROM <表名1>,<表名 ...

  9. fastadmin中关联表时A为主表,想让B表和C表关联时怎么办?

    $sql = Db::connect('数据库')->table('C表')->where('status', 'normal')->field('字段 别称[不可与其他表重复]') ...

随机推荐

  1. 1.2 auth2.0

    多个应用 入sina  qq  msn  豆瓣 等 在手机登录时或终端登录时如果统一可以根据硬件做 gettid()-为了保证唯一性:方案一:      事先生成唯一验证码:使用一个isue 设置为1 ...

  2. 可视化库-Matplotlib-散点图(第四天)

    1. 画基本的散点图 plt.scatterdata[:, 0], data[:, 1], marker='o', color='r', label='class1', alpha=0.4) np.r ...

  3. 改成maven工程

    configure->convert to Maven Project

  4. hibernate查询出的实体,set值后,自动更新到数据库

    1.问题症状描述      最近在处理一个新需求问题,代码的大致逻辑是获取一个实体对象,调用该对象的set方法设置其中的某些字段,然后把修改后的实体作为参数供其他地方调用,根据返回值来决定是否更新这个 ...

  5. java基础一(阅读Head First Java记录)

    写在前面的话 在实际应用java中,因为没有系统去看过书或者学习过,所以基础薄弱,刚好这本书是比较入门级的一些书,记录一下下面的一些基本概念,以方便自己来学习.当然如果对大家有帮助也是很好的. 因为书 ...

  6. 什么是http头信息

    HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET.POST.PU ...

  7. Matlab界面清洗

    保持干净清爽的编程界面可以给人以简洁明朗的享受,Matlab可以对涉及到的4个界面进行清洗: ①  Clear Figure ; ② Clear Command window; ③ Clear Wor ...

  8. Python操作符重载总结&列表模型

    操作符重载 二元运算符 特殊方法 + __add__,__radd__ - __sub__,__rsub__ * __mul__,__rmul__ / __div__,__rdiv__,__trued ...

  9. liunx 命令大全

    一.切换到用户 1.切换到根用户(root) su 2.切换到a用户 su a 二.建立用户,以及mysql的目录1.groupadd mysql #建立一个mysql的组2.useradd -r - ...

  10. spring mvc 多库连接

    最近弄了个spring mvc + hibernate4为框架的项目,其中需用到其他两个库的数据.具体如下: 1.将两库的application文件配置好,需注意的地方是两个事务控制是不一样的. 和 ...