Hibernate中实体类使用注解

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import lombok.Data;@Entity
@Table(name="sys_user")
@Data
public class User {@Idprivate Long user_id;    private String user_code; //登录名private String user_name; //昵称private String user_password;//密码private Character user_state;public User() {super();}
}

映射规则:

1. 实体类必须用 @javax.persistence.Entity 进行注解;

2. 必须使用 @javax.persistence.Id 来注解一个主键;

3. 实体类必须拥有一个 public 或者 protected 的无参构造函数,之外实体类还可以拥有其他的构造函数;

4. 实体类必须是一个顶级类(top-level class)。一个枚举(enum)或者一个接口(interface)不能被注解为一个实体;

5. 实体类不能是 final 类型的,也不能有 final 类型的方法;

6. 如果实体类的一个实例需要用传值的方式调用(例如,远程调用),则这个实体类必须实现(implements)java.io.Serializable 接口。

将一个 POJO 的 Java 类映射成数据库中的表如此简单,这主要得益于 Java EE 5种引入的  Configuration by Exception 的理念,这个理念的核心就是容器或者供应商提供一个缺省的规则,在这个规则下程序是可以正确运行的,如果开发人员有特殊的需求,需要改变这个默认的规则,那么就是对默认规则来说就是一个异常(Exception)。

如上例所示:默认的映射规则就是数据库表的名字和对应的 Java 类的名字相同,表中列的名字和 Java 类中相对应的字段的名字相同。

现在我们可以改变这种默认的规则:

清单 2. 使用 @Table 和 @Column 注解修改映射规则

hibernate.cfg.xml

其中需要,没有配置扫描时

<mapping class="cn.ulearning.domain.User"/>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration><session-factory><!-- ## MySQL## hibernate方言配置:dialect SQL99标准: 数据库的sql语句都是基于该标准.但是不同数据库会进行各自拓展.为准确的生成sql语句.需要告诉hibernate使用的是哪款数据库|- MYSQL: limit  ?,?..|- SQLServer: top 10...|- Oracle: Rownumber 分页..#hibernate.dialect org.hibernate.dialect.MySQLDialect(mysql选择方言时选最短的)#hibernate.connection.driver_class com.mysql.jdbc.Driver#hibernate.connection.url jdbc:mysql:///test#hibernate.connection.username gavin#hibernate.connection.password--><!-- 一.必选配置5个 --><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:///hibernate1</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">root</property><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!-- ## print all generated SQL to the console// 打印所有生成的sql语句到控制台hibernate.show_sql true## format SQL in log and console// 格式化sql语句hibernate.format_sql true--><!-- 二.可选配置3个 --><property name="hibernate.show_sql">true</property><property name="hibernate.format_sql">true</property><!-- ## auto schema export//自动建表. 会在hibernate启动时自动创建.#hibernate.hbm2ddl.auto create|- (不常用)无论表是否存在,每次启动时都会自动创建表结构.#hibernate.hbm2ddl.auto create-drop   |- (不常用)无论表是否存在,每次启动时都会自动创建表结构.每次关闭前会删除表结构.#hibernate.hbm2ddl.auto update|- (常用)如果没有表,会创建表.如果有表与映射不一致.会修改表结构.#hibernate.hbm2ddl.auto validate 通常用于手动创建表时,校验表结构是否正确.|- (不常用) 不会自动创建表.如果表有问题,或表不存在.在启动时会抛出异常提示.--><property name="hibernate.hbm2ddl.auto">update</property><!-- 配置getCurrentSession方法指定session与线程绑定--><property name="hibernate.current_session_context_class">thread</property><!-- 三.映射文件引入 填写相对路径.相对于src目录.--><mapping class="cn.ulearning.domain.User"/></session-factory>
</hibernate-configuration>

部分参考:https://www.cnblogs.com/softidea/p/6216722.html

https://blog.csdn.net/u013615806/article/details/39755971

hibernate使用注解相关推荐

  1. hibernate annotation注解方式来处理映射关系

    2019独角兽企业重金招聘Python工程师标准>>> 在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟 ...

  2. 模拟hibernate的注解来创建数据表,内置注解

    目录 导读 注解释义 注解定义 内置三大注解 override注解 Deprecated注解 SuppressWarnings注解 元注解 SOURCE和RUNTIME的区别 SOURCE RUNTI ...

  3. hibernate @Where注解

     @Where注解使用. 这是一个hibernate的注解,主要作用是在HQL转成SQL时自动添加where条件. @Where注解一般可以放在Class的头上,也可以放在get方法的头上. @W ...

  4. Hibernate.Annotation注解

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

  5. 自定义hibernate validation注解

    效果和优点 先看最后效果: public class UserEntity {@Password private String password;@Emailprivate String email; ...

  6. Hibernate @JoinTable 注解

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. @JoinTable支持的属性 属性 是否必须 说明 name 否 指定该连接表的表名 JoinCo ...

  7. Eclipse利用Database Connections连接数据库并实现从数据库逆向生成Hibernate带注解的实体类

    转自: https://blog.csdn.net/qq_37844454/article/details/84194179 https://www.cnblogs.com/pretty-sunshi ...

  8. hibernate mysql 注解_【译】Spring 4 + Hibernate 4 + Mysql + Maven集成例子(注解 + XML)

    前言 本文将基于注解配置, 集成Spring 4和Hibernate 4,开发一个增删改查应用,涉及以下内容: 创建Hibernate实体 保存数据到mysql数据库中 在事务transaction内 ...

  9. Sping +hibernate+JTA 注解配置

    随着业务的不断扩展数据库的压力越来越大,为了减少数据库的压力我们要从多方面考虑分析,并提出多个解决数据库压力大的问题,比如说根据业务分表.分库.增加缓存机制等等.如果是分库,如何做分布式呢?我就做分布 ...

  10. Hibernate实例--注解配置表映射

    本实例使用Hibernate注解的方式实现一个实体类与数据库表持久化操作. 一.Hibernate注解详细介绍 实体Bean,每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Ent ...

最新文章

  1. 用Aspose.Words for .NET动态生成word文档中的图片或水印
  2. 网页布局(固定与不固定原理)
  3. linux下日志管理系统,Linux管理日志系统详解
  4. (15)System Verilog结构体struct详解
  5. TikTok独立站该怎么布局?
  6. php和mssql连接好吗,php如何与mssql数据库连接与配置_PHP教程
  7. python判断点在矩形内_定义一个矩形和点的位置,判断点是否在矩形里面
  8. python︱写markdown一样写网页,代码快速生成web工具:streamlit 展示组件(三)
  9. 常见基本题型:进制的转换
  10. 物联网智慧校园建设系统源码
  11. getDerivedStateFromProps填坑
  12. 利用FFT计算非平稳随机信号的WVD分布
  13. mysql 1067_mysql启动错误1067进程意外终止的解决方法
  14. 命令行修改本地组策略_通过命令行从Windows进行本地组管理
  15. Vivado报错[Opt 31 - 305] Invalid connectivity on net RESETN connected to port RESETN
  16. 如何撰写PRD(一)
  17. php做mes系统,mes系统的七大功能是什么
  18. 联想拯救者R720如何组建双通道内存
  19. Visual Studio开发MFC项目OCX控件添加使用控件方法
  20. 机房搬迁IBM磁盘阵列哪些信息需要抓取

热门文章

  1. 远程连接SQL数据库连接不上,怎么找原因?
  2. 数字化+生态圈:运营商转型实战丨边缘计算阅读周
  3. PHP2(.phps)
  4. php 多个图片合并为一张
  5. 以图搜图 – 3大相似图片搜索引擎
  6. 代码如何获取单反相机拍摄的照片_极客学院 | 如何用智能手机相机拍摄烟花照片...
  7. 使用nacos-server1.2.1版本,项目启动时疯狂的循环打印日志问题
  8. OFDM、FTTx、SCTP、Ad Hoc、WSN术语简介
  9. HDU 4183(max flow)
  10. 基于Java的电梯模拟系统