JPA中的@MappedSuperclass

说明地址:http://docs.oracle.com/javaee/5/api/javax/persistence/MappedSuperclass.html

用来申明一个超类,继承这个类的子类映射时要映射此类中的字段,可以当做是对entity抽取封装的类。如果子类想重写此类的映射信息,可以使用 AttributeOverride and AssociationOverride annotations

 

Java代码  收藏代码
  1.  Example: Concrete class as a mapped superclass  
  2. @MappedSuperclass  
  3. public class Employee {  
  4.       
  5.         @Id   
  6.         protected Integer empId;  
  7.         @Version   
  8.         protected Integer version;  
  9.         @ManyToOne @JoinColumn(name="ADDR")  
  10.         protected Address address;  
  11.       
  12.         public Integer getEmpId() { ... }  
  13.         public void setEmpId(Integer id) { ... }  
  14.         public Address getAddress() { ... }  
  15.         public void setAddress(Address addr) { ... }  
  16. }  
  17.       
  18. // Default table is FTEMPLOYEE table  
  19. @Entity  
  20. public class FTEmployee extends Employee {  
  21.       
  22.         // Inherited empId field mapped to FTEMPLOYEE.EMPID  
  23.         // Inherited version field mapped to FTEMPLOYEE.VERSION  
  24.         // Inherited address field mapped to FTEMPLOYEE.ADDR fk  
  25.           
  26.     // Defaults to FTEMPLOYEE.SALARY  
  27.     protected Integer salary;  
  28.       
  29.     public FTEmployee() {}  
  30.       
  31.     public Integer getSalary() { ... }  
  32.       
  33.     public void setSalary(Integer salary) { ... }  
  34. }  
  35.       
  36.     @Entity @Table(name="PT_EMP")  
  37.     @AssociationOverride(name="address",   
  38.     joincolumns=@JoinColumn(name="ADDR_ID"))  
  39.     public class PartTimeEmployee extends Employee {  
  40.       
  41.         // Inherited empId field mapped to PT_EMP.EMPID  
  42.         // Inherited version field mapped to PT_EMP.VERSION  
  43.         // address field mapping overridden to PT_EMP.ADDR_ID fk  
  44.         @Column(name="WAGE")  
  45.         protected Float hourlyWage;  
  46.       
  47.         public PartTimeEmployee() {}  
  48.       
  49.         public Float getHourlyWage() { ... }  
  50.         public void setHourlyWage(Float wage) { ... }  
  51.     }  
  52.   
  53.     Example: Non-entity superclass  
  54.   
  55.     public class Cart {  
  56.       
  57.         // This state is transient  
  58.         Integer operationCount;  
  59.       
  60.         public Cart() { operationCount = 0; }  
  61.         public Integer getOperationCount() { return operationCount; }  
  62.         public void incrementOperationCount() { operationCount++; }  
  63.     }  
  64.       
  65.     @Entity  
  66.     public class ShoppingCart extends Cart {  
  67.       
  68.         Collection items = new Vector();  
  69.       
  70.         public ShoppingCart() { super(); }  
  71.       
  72.       
  73.     ...  
  74.       
  75.         @OneToMany  
  76.         public Collection getItems() { return items; }  
  77.         public void addItem(Item item) {  
  78.             items.add(item);  
  79.             incrementOperationCount();  
  80.         }  
  81.     }  
分享到:

转载于:https://www.cnblogs.com/toSeeMyDream/p/4606896.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

调用另一个cpp的变量_再谈条件变量—从入门到出家

再谈条件变量—从入门到出家C语言--条件变量条件变量是在线程中以睡眠的方式等待某一条件的发生;条件变量是利用线程间共享的全局变量进行同步的一种机制:一个线程等待"条件变量的条件成立"挂起另一个线程使"条件成立"条件变量的使用…

不同page页面选择不同页面模板的方法

仿制一个企业站的时候发现该站用了很多page页面,而且个别页面的样式不相同,同时区别于post文章页面,其实不同之处就在于每个页面的xhtmlcss的不同,关键是page模板选择的问题,恒宁总结了以下两种方法。 第一种&#xff…

jquer each 遍历的结果不显示 null_SpringBoot系列(三十一)- Thymeleaf如何用th:each 做条件遍历

步骤1:基于前面的知识点步骤2:先运行,看到效果,再学习步骤3:模仿和排错步骤4:TestController步骤5:普通遍历步骤6:带状态的遍历步骤7:结合 select步骤8:结合 单选框步骤9:完整的 test.html步骤10:重启测试步骤 1 : 基于前面的知识点本知识点是建立在上一…

python3.6sysos_求大佬,这是什么情况啊

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Traceback (most recent call last): File "manager.py", line 13, in sys.exit(main()) File "manager.py", line 8, in main manager.run() File "/root/imooc/lib/python3.5/site-packages/flask_sc…

.Net学习笔记----2015-06-30(超市收银系统01-仓库类)

GUID: 产生一个不会重复的ID static void Main(string[] args){//产生一个不会重复的编号Console.WriteLine(Guid.NewGuid().ToString());Console.WriteLine(Guid.NewGuid().ToString());Console.WriteLine(Guid.NewGuid().ToString());Console.WriteLine(Guid.NewG…

Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介...

ADO.NET技术主要包括Connection、Command、DataReader、DataAdapter、DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍:(1)Connection对象的主要功能是与数据库进行连接(事物处理也使用此对象)…

python电子英汉词典显示_python网页抓取之英汉字典

linux的字典本人实在用起来不舒服(stardict挺不错的,但是界面好看些,功能简单易用就好了) ,在线翻译又得打开庞大的浏览器....就打算自己写个,但是时间有限,为了简单, 还是用python抓…

清空缓存的命令_超详细的mysql数据库查询缓存原理解析、涉及命令、流程分析等...

概述mysql查询缓存在数据库优化可以起到很大的作用,今天主要针对这一块做一个总结,下面一起来看看吧~一、缓存条件,原理MySQL Query Cache是用来缓存我们所执行的SELECT语句以及该语句的结果集,MySql在实现Query Cache的具体技术细…

和lua的效率对比测试_Unity游戏开发Lua更新运行时代码!

最近沉迷lua脚本热更,想说这个可以提高多少菜鸡的调试效率,找了网上好多文章,但是都不行,尝试了很久,并且自己测试和学习,写了一遍,勉强能热更了。下面记录一下热更Lua的过程。一、用来卸载表格…

nodejs cluster ip hash_redis集群架构了解一下?一致性hash了解吗?

在前几年,redis 如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有 codis,或者 twemproxy,都有。有一些 redis 中间件,你读写 redis 中间件,redis 中间件…

python 连接oracle_常用的Python库,给大家分享一下!

Tkinter———— Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复…

python 前端学习_python学习之路7 前端学习3

1.页面布局PosTion :fixedTitle.left{float:left;}.right{float:right;}.head{height:58px;background-color:#3c3c3c;}.head .fontsquarl{width:120px;height:58px;background-color:#F22E00;line-height:58px;}.head .logosuqarl{width:120px;height:58px;background-color:#…

2.5d generator 2.0_ps插件【2.5D插件】

近一两年来创意插画在视觉上的使用越来越多,设计师们都愈加倾向于使用漂亮的插画和产品结合让自己的设计脱颖而出。在最近这段时间新涌现的设计作品当中,强烈的视觉冲击力和产品结合的展现是它们共通的特点。那么2.5D插画也是作为近一两年的发展趋势&…

人工神经网络_制作属于自己的人工神经网络

在本文中,我已经实现了具有Dropout和L2正则化的人工神经网络的完全向量化代码。在本文中,我实现了一个在多个数据集上测试的人工神经网络的完全向量化python代码。此外,并对Dropout和L2正则化技术进行了实现和详细说明。强烈建议通过人工神经…

[leedcode 52] N-Queens II

Follow up for N-Queens problem. Now, instead outputting board configurations, return the total number of distinct solutions. public class Solution {//本题类似于N-Queens,这个更简单一些,只需要求出解法的个数即可,因此没有了prin…

uinty粒子系统子物体变大_Unity2018粒子系统全息讲解,坑深慎入(3)

马上注册,加入CGJOY,让你轻松玩转CGJOY。您需要 登录 才可以下载或查看,没有帐号?立即注册x200357v0p9jufzelwj0uuj.jpg (60.94 KB, 下载次数: 16)2018-6-11 20:22 上传声明!声明!声明!这不会让…

第16/24周 SQL Server 2014中的基数计算

大家好,欢迎回到性能调优培训。上个星期我们讨论在SQL Server里基数计算过程里的一些问题。今天我们继续详细谈下,SQL Server 2014里引入的新基数计算。 新基数计算 SQL Server 2014里一个增强是新的基数计算。上个星期你已经学到老基数计算有些限制&…

mysql主从复制不同步案例_Mysql主从不同步问题处理案例

在使用Mysql的主从复制架构中,有两个比较头疼的问题:1、主从数据不同步后如何处理2、主从同步延迟问题如何解决本文将根据实际案例来分析下问题1,至于问题2多数文档介绍的办法是启用多线程复制来解决,言归正传,这里的问…

python3.6生成exe_Python 3.6打包成EXE可执行程序的实现

1、下载pyinstaller python 3.6 已经自己安装了pip,所以只需要执行 pip install pyinstaller就可以了2、打包程序 进入到你你需要打包的目录;比如我在H:\xcyk开始打包,执行pyinstaller xxx.py我们发现,竟然报错!&#…

opencvpython教程百度云资源_Python+OpenCV图像处理入门,视频教程下载

课程介绍: 李老师讲课生动、深入浅出,出版OpenCV编程案例详解、Python-OpenCV图穷录、MATLAB图像处理、MATLAB图像案例教程等在线课程。 本课程系统概括了Python-OpenCV的使用方法,让学习者快速入门。根据本课程规划的图书《Python-OpenCV图穷…