一、核心配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property> <property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="current_session_context_class">thread</property> <!--
<mapping resource="com/chinasofti/entity/User.hbm.xml"/>
<mapping resource="com/chinasofti/entity/Role.hbm.xml"/>
--> <mapping class="com.chinasofti.entity.Person"/>
<mapping class="com.chinasofti.entity.Card"/> </session-factory>
</hibernate-configuration>

二、实体类

  person

package com.chinasofti.entity;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table; @Entity
@Table(name="T_Person")
public class Person {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer pid;
private String pname; @OneToOne(cascade=CascadeType.ALL,mappedBy="person")
@JoinColumn(name="pid")
private Card card; public Integer getPid() {
return pid;
}
public void setPid(Integer pid) {
this.pid = pid;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public Card getCard() {
return card;
}
public void setCard(Card card) {
this.card = card;
}
@Override
public String toString() {
return "Person [pid=" + pid + ", pname=" + pname + ", card=" + card
+ "]";
} }

Card

package com.chinasofti.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table; @Entity
@Table(name="T_Card")
public class Card {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer cid;
private String cnum; @OneToOne
@JoinColumn(name="pid")
private Person person; public Integer getCid() {
return cid;
}
public void setCid(Integer cid) {
this.cid = cid;
}
public String getCnum() {
return cnum;
}
public void setCnum(String cnum) {
this.cnum = cnum;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
@Override
public String toString() {
return "Card [cid=" + cid + ", cnum=" + cnum + ", person=" + person
+ "]";
}
}

三、封装类

package com.chinasofti.entity;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; public class HibernateUtil {
static Configuration CONFIGURATION = null;
static SessionFactory SESSION_FACTORY = null;
static Session SESSION = null;
static{
CONFIGURATION = new Configuration();
CONFIGURATION.configure();
SESSION_FACTORY = CONFIGURATION.buildSessionFactory();
SESSION = SESSION_FACTORY.openSession();
}
public static SessionFactory getSessionFactory(){
return SESSION_FACTORY;
}
public static Session openSession(){
return SESSION;
}
}

四、测试类

package com.chinasofti.entity;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test; public class TestOneOne {
@Test
public void test1to1(){
Session session = HibernateUtil.openSession();
Transaction transaction = session.beginTransaction();
Person person = session.get(Person.class, 1);
session.delete(person);
transaction.commit();
session.close();
} }

补充

最新文章

  1. ThinkPhp 3.2 ajax无刷新分页(未完全改完,临时凑合着用)
  2. POJ 3261 Milk Patterns 后缀数组求 一个串种 最长可重复子串重复至少k次
  3. libcurl教程
  4. 获取当前时间 和 10s倒计时案例
  5. java比较两个字符串是否相等
  6. SAP 禁止某个库位的货物移动
  7. tomcat7需要进行升级,因为有漏洞,而且安装包没有做过优化处理
  8. cocos2d-x基础元素之显示对象
  9. iOS之Git的使用
  10. mysql(转)
  11. Eclipse 和 Intellij idea 快捷键的区别
  12. 关于Scrapy框架的基本概念
  13. 【技术解密】SequoiaDB分布式存储原理
  14. 做一个开源的小程序登录模块组件(token)
  15. SpringCloud实践引入注册中心+配置中心
  16. oracle导出导入指定表
  17. #Python学习笔记:1-3章 (基于《python编程,从入门到实践)
  18. ODAC(V9.5.15) 学习笔记(三)TOraSession(4)
  19. 《SQL 基础教程》—第一章:数据库与 SQL
  20. 《剑指offer》— JavaScript(33)丑数

热门文章

  1. Java函数优雅之道
  2. Qualcomm_Mobile_OpenCL.pdf 翻译-4-Adreno OpenCL的程序开发
  3. Java Script语法
  4. Linux sed神器
  5. node模块管理
  6. linux如何判断上一条命令执行是否正确
  7. Docker MongoDB 部署
  8. TF-epoch、 iteration和batchsize区别(转载)
  9. Python机器学习常用库记录
  10. 16.合并两个排序的链表(python)