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. VisualStudio2012轻松把JSON数据转换到POCO的代码(转)

    VisualStudio2012轻松把JSON数据转换到POCO的代码 在Visual Studio 2012中轻松把JSON数据转换到POCO的代码,首先你需要安装Web Essentials 20 ...

  2. jsp 学习 第2步 - tag 使用

    tag  类似 asp.net 用户控件,用于动态显示HTML 我首先在项目 /WebContent/WEB-INF/  建立 tags目录 用于存放 tag文件 新建一个message.tag 文件 ...

  3. 1.Ehcache(01)——简介、基本操作

    转自:https://blog.csdn.net/w1014074794/article/details/51086228 Ehcache简介 目录 1       CacheManager 1.1  ...

  4. AndroidStudio 中怎样查看获取MD5和SHA1值(应用签名)

    曾经在Eclipse中我们获取MD5和SHA1非常easy就找到了例如以下图所看到的: 就能够在Eclipse中看到所须要调试的MD5和SHA1.可是在AndroidStudio中我找了一圈也没有发现 ...

  5. 在 springboot 中如何整合 shiro 应用 ?

     Shiro是Apache下的一个开源项目,我们称之为Apache Shiro. 它是一个很易用与Java项目的的安全框架,提供了认证.授权.加密.会话管理,与spring Security 一样都是 ...

  6. 浅探SpringMVC中HandlerExecutionChain之handler、interceptor

    讲解HandlerExecutionChain之前,先大致了解下SpringMVC的核心开发步骤: 在web.xml中部署DispaterServlet,并配置springmvc.xml等文件; 将映 ...

  7. asp.net安装指令

    cd \ cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319aspnet_regiis.exe -i注册.NET4到IIS

  8. 19-python 自己建立词库并实现文章汉语词频统计

    首先在网上下载一个汉语词典的txt文件, 汉语词典 1.用正则去掉词语的解释,即提取出所有汉语词语: import re def getHanYuCi(st): p = re.compile(r'[. ...

  9. Spring JMX之一:使用JMX管理Spring Bean

    spring中关于jmx包括几个概念: MBeanExporter: 从字面上很容易理解, 用来将一些spring的bean作为MBean暴露给MBEanServer.MBeanServerFacto ...

  10. Java程序设计17——多线程-Part-B

    5 改变线程优先级 每个线程执行都具有一定的优先级,优先级高的线程获得较多的执行机会,而优先级低的线程则获得较少的执行机会. 每个线程默认的优先级都与创建它的父线程具有相同的优先级,在默认情况下,ma ...