2.复合主键:工具类

package com.bjpowernode.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtils {

	private static SessionFactory factory;
	
	static {
		try {
			//读取hibernate.cfg.xml文件
			Configuration cfg = new Configuration().configure();
			
			//建立SessionFactory
			factory = cfg.buildSessionFactory();
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static Session getSession() {
		return factory.openSession();
	} 
	
	public static void closeSession(Session session) {
		if (session != null) {
			if (session.isOpen()) {
				session.close();
			}
		}
	}
	
	public static SessionFactory getSessionFactory() {
		return factory;
	}
}
package com.bjpowernode.hibernate;

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

/**
 * 将hbm生成ddl
 * @author Administrator
 *
 */
public class ExportDB {

	public static void main(String[] args) {
		
		//默认读取hibernate.cfg.xml文件
		Configuration cfg = new Configuration().configure();
		
		SchemaExport export = new SchemaExport(cfg);
		export.create(true, true);
	}
}


以下是基于需求分析的12个核心实体及关系设计: 1. Users (用户表) - 主键: user_id - 字段: username, password_hash, email, phone, register_time, last_login 2. Roles (角色表) - 主键: role_id - 字段: role_name, role_desc 3. User_Roles (用户角色关联表) - 复合主键: user_id, role_id - 外键: user_id -> Users, role_id -> Roles 4. Books (图书信息表) - 主键: book_id - 字段: isbn, title, abstract, publish_year, word_count 5. Authors (作者表) - 主键: author_id - 字段: author_name, nationality, biography 6. Book_Authors (图书作者关联表) - 复合主键: book_id, author_id - 外键: book_id -> Books, author_id -> Authors 7. Publishers (出版社表) - 主键: publisher_id - 字段: publisher_name, address, phone, website 8. Categories (图书分表) - 主键: category_id - 字段: category_name, parent_id, description 9. Book_Copies (馆藏副本表) - 主键: copy_id - 字段: book_id, copy_status, purchase_date, location - 外键: book_id -> Books 10. Loans (借阅记录表) - 主键: loan_id - 字段: user_id, copy_id, loan_date, due_date, return_date, status - 外键: user_id -> Users, copy_id -> Book_Copies 11. Reservations (预约表) - 主键: reservation_id - 字段: user_id, book_id, reservation_date, status, notify_date - 外键: user_id -> Users, book_id -> Books 12. Fines (罚款记录表) - 主键: fine_id - 字段: loan_id, fine_amount, fine_reason, paid_status, create_time - 外键: loan_id -> Loans (一对一关联) 关系说明 一对一关系: Loans↔ Fines(一条逾期借阅记录对应一条罚款记录) 一对多关系: Publishers → Books(一个出版社出版多本书) Categories → Books(一个分包含多本书) Books → Book_Copies(一本书有多个物理副本) Users → Loans(一个用户有多条借阅记录) 多对多关系: Users ↔ Roles(通过`User_Roles`中间表) Books ↔ Authors(通过`Book_Authors`中间表) Users↔ Books(通过`Reservations`中间表实现预约) 生成ldm pdm 图
06-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值