@Entity

@Entity:映射实体类

@Entity(name="tableName")

  name:可选,对应数据库中一个表,若表名与实体类名相同,则可以省略。

注意:使用@Entity时候必须指定实体类的主键属性。

第一步:建立实体类:

分别给类名上面加上@Entity注解。给类中作为主键的属性的get方法前面加上@Id注解。

package Com.Entity;
import java.util.Date;
import javax.persistence.Entity;/*JPA主键*/
import javax.persistence.Id;
/*学生实体类*/ @Entity(name="Students")
public class Students {
private int sid;
private String sname;//姓名
private String gender;//性别
private Date birthday;
private String major;//专业
private String address;//地址 public Students()
{ }
public Students(int sid, String sname, String gender, Date birthday, String major, String address) {
//super();
this.sid = sid;
this.sname = sname;
this.gender = gender;
this.birthday = birthday;
this.major = major;
this.address = address;
} @Id
public int getSid() {
return sid;
} public void setSid(int sid) {
this.sid = sid;
} public String getSname() {
return sname;
} public void setSname(String sname) {
this.sname = sname;
} public String getGender() {
return gender;
} public void setGender(String gender) {
this.gender = gender;
} public Date getBirthday() {
return birthday;
} public void setBirthday(Date birthday) {
this.birthday = birthday;
} public String getMajor() {
return major;
} public void setMajor(String major) {
this.major = major;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} }

第二步:在配置中配置好这个类。

第三步:写测试类:

package Com.Entity;
import java.util.EnumSet;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.hibernate.tool.schema.TargetType;
import org.junit.Test; public class TestStudents { @Test
public void testSchemaExport()
{
//创建服务注册对象
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
//创建Metadata对象
Metadata metadata =new MetadataSources(serviceRegistry).buildMetadata();
//创建SchemaExport对象
SchemaExport export = new SchemaExport();
export.create(EnumSet.of(TargetType.DATABASE),metadata);
}
}

调试后,数据库中正常生成表。

@Table

@Table(name="",catalog="",schema="")

@Entity配合使用,只能标注在实体类的class定义处,表示实体对应的数据库表的信息。

name:可选,映射表名称,默认表名和实体名称一致,只有在不一致的情况下需要指定表名。

catalog(目录):可选,表示catalog名称,默认为:catalog("")。

schema(模式):可选,表示schema名称,默认为:schema("")。

Table注解实例:对于之前的Entity修改如下:

name:表名前面,schema:默认为使用的数据库名

@Embeddable

表示一个非Entity类可以嵌入到另一个Entity类中作为属性而存在。

相当于代替之前单笔操作的的组件属性

第一步:在建一个非entity类,并且在前加上@Embeddable注解。

package Com.Entity;

import javax.persistence.Embeddable;

@Embeddable
/*表示一个嵌入类,在另一个实体类中充当属性*/
public class Address {
private String postCode;//邮编
private String address;//地址
private String phone;
public Address()
{ }
public String getPostCode() {
return postCode;
}
public void setPostCode(String postCode) {
this.postCode = postCode;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
} }

第二步:在entity实体类中加入这个类的对象,并且加上set,get方法。

第三步:测试:

发现按照要求生成成功。

01-hibernate注解:类级别注解,@Entity,@Table,@Embeddable的更多相关文章

  1. Hibernate注解----类级别注解以及属性注解详解----图片版本

    这篇文章是我在慕课网上学习Hibernate注解的时候进行手机以及整理的笔记. 今天把它分享给大家,希望对大家有用.可以进行收藏,然后需要的时候进行对照一下即可.这样能起到一个查阅的作用. 本文主要讲 ...

  2. Hibernate注解-类级别注解

  3. 01-hibernate注解:类级别注解准备工作

    注解简介: 目的:为了简化繁琐的ORM映射文件(.hbm)的配置. JPA与hibernate的关系 JPA:全称 java Persistence API(java持久化API接口) JPA注解是J ...

  4. Hibernate学习之类级别注解

    © 版权声明:本文为博主原创文章,转载请注明出处 类级别注解: 1. @Entity 实体:表示映射实体类,使用@Entity时必须指定实体类的主键属性 @Entity(name="&quo ...

  5. 02-hibernate注解-属性级别注解

    添加方式: 一是写在属性字段上面. 二是写在属性的get访问器上面. 主要有: @Id, @SequenceGenerator @GeneratedValue @Colum @Embedded @Em ...

  6. Users is not mapped(Hibernate实体类采用注解)

    今天做简单的登陆验证web应用时,用HQL语句查询数据表时 总是出现Users is not mapped [from Users u where u.username=? and u.passwor ...

  7. Hibernate注解----关联映射注解以及课程总结详解----图片版本

    上一篇,记录了Hibernate注解----类级别注解以及属性注解详解 ,我们这一节主要讲解的是Hibernate注解----关联映射注解以及课程总结详解. 本节的主要内容: 第3章 关联映射注解 3 ...

  8. HIbernate实体类注解配置

    一.类级别注解 1.@Entity(name="EntityName") 必须 name为可选,对应数据库中一的个表 2.@Table(name="",cata ...

  9. eclipse逆向生成hibernate的实体类(注解和配置文件)

    eclipse从数据库逆向生成Hibernate实体类(注解和配置文件) 分类: hibernate 数据库 java 2011-10-22 21:28 2915人阅读 评论(8) 收藏 举报 做项目 ...

随机推荐

  1. mtk预装apk 方案公司内置预装apk

    mtk预装apk 方案公司内置预装apk 韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha == MTK 预知第三方的APK 流程_yua ...

  2. 【思维】Stacks of Flapjacks

    [UVa120] Stacks of Flapjacks 算法入门经典第8章8-1 (P236) 题目大意:有一个序列,可以翻转[1,k],构造一种方案使得序列升序排列. 试题分析:从插入排序即可找到 ...

  3. [xsy2289]B

    题意:给一棵树,一次操作定义为删掉一条树边再加一条边,并且满足加完边后这还是一棵树,问在进行不超过$k$次操作后能构造出多少种不同的树 首先...矩阵树定理在边有边权的时候同样适用,这时可以把它看成重 ...

  4. UVA 12284 Digital Matrix

    思路:这个分清楚情况就很好做了. 注意一点当A的转置等于B的时候(对角线除外),记录A的下三角(或上三角)有cnt个的数与B不同,如果cnt>1则 不需要额外的步数就可以了,否则当k==2时结果 ...

  5. 图解SQL Server:聚集索引、唯一索引、主键

    http://www.cnblogs.com/chenxizhang/archive/2010/01/14/1648042.html

  6. 【spring cloud】spring cloud中启动eureka集群时候,发生端口已经绑定的报错The Tomcat connector configured to listen on port 8000 failed to start. The port may already be in use or the connector may be misconfigured.

    在分别设置 进行微服务eureka集群启动时候,执行命令行启动jar包时候,报错前面一个端口8000已经被使用,而我这里启动的配置文件中端口号是8001,怎么会导致端口冲突呢?? 但是报错我的端口冲突 ...

  7. Go -- FileManage 自建云盘

    一.介绍 Caddy,用Go写的一款相当优秀的Web服务器软件,它有不少很有特色的功能,国内目前来说用的不多,不过也逐渐有越来越多的人知道了,它有个特色的插件功能,其中一款插件是FileManager ...

  8. windows2012 IIS部署GeoTrust证书踩过的坑。

    系统:windows2012 环境:IIS8 在阿里云上买了GeoTrust证书, 按照说明下载证书到服务器,  导入证书, 给IIS站点部署https. 阿里云部署帮助文档:https://help ...

  9. 通过logstash收集mysql慢查询日志转换为json

    input { file { type => "mysql-slow" path => "/var/log/slow_mysqld.log" sta ...

  10. static_cast ,reinterpret_cast

    用法:static_cast < type-id > ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性.它主要有 ...