spring嵌套对象@Embedded使用
来源:互联网 发布:国美容美发软件下载 编辑:程序博客网 时间:2024/06/10 04:46
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
@EntityListeners(MyMonitor.class)
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String employeeName;
@Embedded
private EmployeePeriod employeePeriod;
public String getEmployeeName() {
return employeeName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public void setEmployeeName(String employeeName) {
this.employeeName = employeeName;
}
public EmployeePeriod getEmployeePeriod() {
return employeePeriod;
}
public void setEmployeePeriod(EmployeePeriod employeePeriod) {
this.employeePeriod = employeePeriod;
}
}
package com.demo.beans;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Embeddable
public class EmployeePeriod {
@Column(name="EmployeeStartDate")
@Temporal(TemporalType.DATE)
private Date startDate;
@Column(name="EmployeeEndDate")
@Temporal(TemporalType.DATE)
private Date endDate;
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
}
在持久化对象后,数据库中的表如下:
mysql> select * from employee;
+----+--------------+-----------------+-------------------+
| id | employeeName | EmployeeEndDate | EmployeeStartDate |
+----+--------------+-----------------+-------------------+
| 1| John Smith | 2015-02-13 | 2015-02-13 |
+----+--------------+-----------------+-------------------+
@AttributeOverrides的使用
修改上面的employee类
package com.demo.beans;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
@EntityListeners(MyMonitor.class)
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String employeeName;
@Embedded
@AttributeOverrides({@AttributeOverride(name="startDate",column=@Column(name="begin")),
@AttributeOverride(name="endDate",column=@Column(name="end"))
}
)
private EmployeePeriod employeePeriod;
public String getEmployeeName() {
return employeeName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public void setEmployeeName(String employeeName) {
this.employeeName = employeeName;
}
public EmployeePeriod getEmployeePeriod() {
return employeePeriod;
}
public void setEmployeePeriod(EmployeePeriod employeePeriod) {
this.employeePeriod = employeePeriod;
}
}
保存后的数据库中记录如下:
mysql> select * from employee;
+----+--------------+------------+------------+
| id | employeeName | end | begin |
+----+--------------+------------+------------+
| 1 | John Smith | 2015-02-13 | 2015-02-13 |
+----+--------------+------------+------------+
1 row in set (0.00 sec)
- spring嵌套对象@Embedded使用
- Spring embedded database examples
- Spring-------使用Spring创建对象
- spring aop之对象内部方法间的嵌套失效
- spring aop之对象内部方法间的嵌套失效
- 使用embedded database
- handlebars获取json数据(集合对象中嵌套集合对象)each嵌套使用
- 《Pro Spring》学习笔记之beanFactory的嵌套使用
- 使用ADF bindings访问一个嵌套的对象
- block多层嵌套使用时,造成控制器对象不能释放
- 使用GSON解析多重嵌套的对象解析
- 使用spring jdbc查询对象
- Qt/Embedded中使用jpeglib
- 解惑 spring 嵌套事务
- 解惑 spring 嵌套事务
- spring嵌套事务
- 解惑 spring 嵌套事务
- spring 嵌套事务 详解
- 多线程BackgroundWorker
- C++ Primer(第4版)-第5部分:高级主题——学习笔记
- 【Android开发经验】Bitmap高效显示系列——如何有效的加载大尺寸Bitmap
- 类别(扩展类)编译成framework或.a后无法引用其方法
- iOS应用开发:什么是ARC?
- spring嵌套对象@Embedded使用
- (转)Mono为何能跨平台?聊聊CIL(MSIL)
- Letv通过HDMI连接电脑桌面无法显示完全的问题解决方法
- freemarker中获取根路径
- 转载和积累系列 - 淘宝tddl系统
- PrimeFaces主题选择器
- 动态规划学习系列——区间DP(一)
- 百度地图api
- C++ primer plus 第六版 课后答案 8.7