search
HomeDatabaseMysql TutorialHibernate基础配置
Hibernate基础配置Jun 07, 2016 pm 04:13 PM
hibernateBasematchConfiguration

三、Hibernate基础配置 1、如果在Annotation中,类名与真是的数据库中的表名不同,可以使用增加@Table(name=数据库中的表名)的方式使其对应。此时,如果数据库中有这个表名则会对应上,如果没有这个表,则会生成这个表。同样的,在XXX.hbm.xml中,也可以配置

三、Hibernate基础配置
1、如果在Annotation中,类名与真是的数据库中的表名不同,可以使用增加@Table(name="数据库中的表名")的方式使其对应。此时,如果数据库中有这个表名则会对应上,如果没有这个表,则会生成这个表。同样的,在XXX.hbm.xml中,也可以配置增加响应的Tabel=tableName的配置。
2、所有没有定义注解的属性等价于在其上面添加了@Basic注解。
3、属性名与字段名不对应的情况,使用@Column(name="数据表的字段名")的方式使其相对应。
4、不需要persistence的字段可以使用@Transient的方式进行注解。这样该字段就不会写入数据表中。在xml中,不进行配置就可以了。
5、属性是时间格式的情况下,默认会将年月日时分秒全部存入。可以使用@Temporal(TemporalType.DATE)的形式使其只存入日期,当然,还可以使其存入其他的日期格式。
6、Hibernate映射的类型。Hibernate会自动将jav【本文来自鸿网互联 (http://www.68idc.cn)】a类型的数据转换为对应的sql类型


7、枚举类型的映射。如果指定的字段名含有枚举类型,则在数据表中也可以实现相应的存储。@Enumerated(EnumType.ORDINAL)的方式使得存入的枚举类型为int类型,@Enumerated(EnumType.STRING)的方式使得存入的值为varchar类型。
8、Annotation建议写在get()方法上,而不是写在属性上。
小实验:
修改Teacher.java
package com.zgy.hibernate.model;


import java.util.Date;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;


@Entity
@Table(name="_teacher")
public class Teacher {
private int id;
private String name;
private String title;
private String address;
private String wifeName;
private Date birth;
private ZhiCheng zhiCheng;
@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Column(name="_name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}

public String getWifeName() {
return wifeName;
}
public void setWifeName(String wifeName) {
this.wifeName = wifeName;
}
@Temporal(TemporalType.DATE)
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
@Enumerated(EnumType.STRING)
public ZhiCheng getZhiCheng() {
return zhiCheng;
}
public void setZhiCheng(ZhiCheng zhiCheng) {
this.zhiCheng = zhiCheng;
}



}




修改test下的TeacherTesting.java
package com.zgy.hibernate.model;


import static org.junit.Assert.*;


import java.util.Date;


import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;


public class TeacherTesting {
public static SessionFactory sf = null;
@BeforeClass
public static void beforeClass(){
sf = new AnnotationConfiguration().configure().buildSessionFactory();
}
@Test
public void test() {
Teacher t = new Teacher();
t.setId(5);
t.setName("t5");
t.setTitle("高级");
t.setAddress("北京");
t.setBirth(new Date());
t.setZhiCheng(ZhiCheng.A);

Session session = sf.openSession();
session.beginTransaction();
session.save(t);
session.getTransaction().commit();
session.close();

}


@AfterClass
public static void afterClass(){
sf.close();
}
}

 

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
如何在Nginx配置Cookie安全策略如何在Nginx配置Cookie安全策略Jun 10, 2023 pm 12:54 PM

随着互联网的不断发展和普及,Web应用程序已成为人们日常生活中必不可少的一部分,这也决定了Web应用程序的安全问题非常重要。在Web应用程序中,Cookie被广泛使用来实现用户身份认证等功能,然而Cookie也存在着安全风险,因此在配置Nginx时,必须设定适当的Cookie安全策略,以保证Cookie的安全性。下面是一些在Nginx中配置Cookie安全策

SpringBoot项目里怎么集成HibernateSpringBoot项目里怎么集成HibernateMay 18, 2023 am 09:49 AM

在SpringBoot项目中集成Hibernate前言Hibernate是一个流行的ORM(对象关系映射)框架,它可以将Java对象映射到数据库表,从而方便地进行持久化操作。在SpringBoot项目中,集成Hibernate可以帮助我们更轻松地进行数据库操作,本文将介绍如何在SpringBoot项目中集成Hibernate,并提供相应的示例。1.引入依赖在pom.xml文件中引入以下依赖:org.springframework.bootspring-boot-starter-data-jpam

PHP基础教程:从入门到精通PHP基础教程:从入门到精通Jun 18, 2023 am 09:43 AM

PHP是一种广泛使用的开源服务器端脚本语言,它可以处理Web开发中所有的任务。PHP在网页开发中的应用广泛,尤其是在动态数据处理上表现优异,因此被众多开发者喜爱和使用。在本篇文章中,我们将一步步地讲解PHP基础知识,帮助初学者从入门到精通。一、基本语法PHP是一种解释性语言,其代码类似于HTML、CSS和JavaScript。每个PHP语句都以分号;结束,注

如何使用Linux进行虚拟网络配置如何使用Linux进行虚拟网络配置Jun 18, 2023 am 11:24 AM

随着云计算、大数据和物联网等技术的日益普及,虚拟化技术成为了当今IT领域的热门话题。虚拟化是通过将一台物理主机划分为多个独立的虚拟机,实现资源的共享和管理的方法。虚拟网络是虚拟化的其中一个重要组成部分,能够满足不同应用之间的网络隔离和互动需求。在本文中,我们将介绍如何使用Linux进行虚拟网络配置。一、Linux虚拟网络的概述在物理网络中,网卡是连接网络设备

如何通过宝塔面板进行UFW防火墙的配置如何通过宝塔面板进行UFW防火墙的配置Jun 21, 2023 am 09:08 AM

在Linux服务器上配置防火墙非常重要,它可以有效地保护服务器免受恶意攻击。在Ubuntu操作系统上,我们可以使用UFW防火墙来保护服务器的安全。在本文中,我们将介绍如何使用宝塔面板配置UFW防火墙。第一步:安装宝塔面板首先,我们需要在Ubuntu上安装宝塔面板。您可以在宝塔官网免费下载宝塔面板的安装包,然后在命令行中运行以下命令来安装宝塔面板:$wget

Java错误:Hibernate错误,如何处理和避免Java错误:Hibernate错误,如何处理和避免Jun 25, 2023 am 09:09 AM

Java是一种面向对象编程语言,它被广泛地应用于软件开发领域。Hibernate是一种流行的Java持久化框架,它提供了一种简单且高效的方式来管理Java对象的持久化。然而,开发过程中经常会遇到Hibernate错误,这些错误可能会导致程序的异常终止或者不稳定。如何处理和避免Hibernate错误成为了Java开发者必须掌握的能力。本文将介绍一些常见的Hib

Intel TXT的安装和配置步骤Intel TXT的安装和配置步骤Jun 11, 2023 pm 06:49 PM

IntelTXT(TrustedExecutionTechnology,可信执行技术)是一种硬件帮助保护系统安全的技术。它通过使用硬件测量模块(TPM)来确保系统启动过程中的完整性,并且可以防止恶意软件攻击。在本文中,我们将讨论IntelTXT的安装和配置步骤,帮助你更好地保护你的系统安全。第一步:检查硬件要求安装IntelTXT前,需要先检查计算

宝塔面板如何进行反向代理的配置宝塔面板如何进行反向代理的配置Jun 21, 2023 am 09:31 AM

宝塔面板是一款非常方便的服务器管理面板,它集成了多种功能,如网站管理、数据库管理、文件管理等。在使用宝塔面板时,有时需要将网站进行反向代理,将请求转发至其他服务器上进行处理。那么,如何进行反向代理的配置呢?下面将介绍详细的步骤。创建网站首先,在宝塔面板中创建一个网站。点击左侧菜单栏中的“网站”,选择“添加站点”按钮,填写相关信息,包括域名、目录、端口等。这里

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function