实体层设计-----表与子类一对多的关系
mysql数据库
CREATE TABLE TItem
(
id varchar(32) not null primary key ,
-- 通过此字段用于区分保存的是 Book还是 DVD category=1代表book category=2代表dvd
category varchar(2) not null ,
name varchar(20) not null ,
manufacturer varchar(20) not null ,
regionCode varchar(2) ,
pageCount int
) ;
java 代码
- package org.beans;
-
- public class Item {
- private String id;
- private String name;
- private String manufacturer;
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public String getManufacturer() {
- return manufacturer;
- }
- public void setManufacturer(String manufacturer) {
- this.manufacturer = manufacturer;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
java 代码
- package org.beans;
-
- public class Book extends Item {
-
- private int pageCount;
-
- public int getPageCount() {
- return pageCount;
- }
-
- public void setPageCount(int pageCount) {
- this.pageCount = pageCount;
- }
- }
java 代码
- package org.beans;
-
- public class Dvd extends Item {
- private String reginCode;
-
- public String getReginCode() {
- return reginCode;
- }
-
- public void setReginCode(String reginCode) {
- this.reginCode = reginCode;
- }
-
- }
xml 代码
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-
-
- <hibernate-mapping>
- <class name="org.beans.Titem" table="titem" catalog="mole">
- <id name="id" type="java.lang.String">
- <column name="id" length="32" />
- <generator class="native" />
- </id>
- <discriminator column="category" type="java.lang.string"></discriminator>
-
- <property name="name" type="java.lang.String">
- <column name="name" length="20" not-null="true" />
- </property>
- <property name="manufacturer" type="java.lang.String">
- <column name="manufacturer" length="20" not-null="true" />
- </property>
-
-
- <subclass name="org.beans.Book" discriminator-value="1">
- <property name="pageCount" type="java.lang.int">
- <column name="pageCount" />
- </property>
- </subclass>
- <subclass name="org.beans.Dvd" discriminator-value="2">
- <property name="regionCode" type="java.lang.String">
- <column name="regionCode" length="2" />
- </property>
- </subclass>
- </class>
- </hibernate-mapping>
分享到:
相关推荐
<br>ext学习笔记一<br>小试iBatis<br>RIA(Rich Internet Application)的现状和未来<br>Java应用中域名解析不过期的解决方法<br>Java编程那些事儿45—数组使用示例1<br>一步步熟悉OFBiz<br>用Java做客户端调用.NET写...
在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全面的后端应用框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,而Hibernate则是一个强大的ORM(对象...
在了解和学习Spring笔记中的Hibernate知识点时,我们能掌握如何利用Hibernate框架简化数据库操作,并深入理解其底层实现原理。这些知识点能帮助开发者高效地进行Java持久层的开发,提高代码质量和开发效率。
它引入了新的标签,如<section>、<article>和<footer>,使得页面结构更加清晰,增强了语义化。同时,HTML5还提供了离线存储、拖放功能、媒体元素等特性,使得后台管理界面更加互动和便捷。 二、Java:作为服务器端...
本笔记旨在帮助初学者从零基础逐步提升至J2SE(Java Standard Edition)和J2EE(Java Enterprise Edition)的高手水平。J2SE是Java的核心部分,提供了用于桌面应用程序和服务器端开发的基础框架;而J2EE则是Java在...
视频教程提供了直观的学习方式,笔记能够帮助学习者梳理和复习重点知识,源码的提供则可以让学习者直接看到代码是如何被编写的,从而更好地理解编程概念。通过这样的学习材料,配合大量的实践和项目练习,学习者能够...
李兴华老师的笔记涵盖了Servlet、JSP、JSTL、EL表达式等Web开发基础,深入讲解了MVC设计模式以及Struts、Spring、Hibernate等主流框架的使用。此外,他还对EJB(Enterprise JavaBeans)进行了介绍,让读者了解企业级...
标题中的“extjs菜鸟做的动态accordion加动态tree”意味着这个项目是初学者使用EXTJS库构建的一个功能,其中包括了动态的Accordion组件和动态的Tree组件。EXTJS是一个强大的JavaScript前端框架,它提供了丰富的用户...
4. **数据访问**:Spring 3.2.4加强了对JDBC、Hibernate、MyBatis等数据访问技术的支持,包括对JPA 2.1的支持,使得数据库操作更加方便和高效。 5. **事务管理**:Spring的事务管理功能在3.2.4中得到了增强,支持...