掘金 后端 ( ) • 2024-04-09 10:16

hibernate注解方式

现在很多时候大家都认为使用xml配置过于繁琐,更习惯于使用注解的方式进行配置hibernate的映射关系了,可以将注解放在属性上,也可以放在getter方法上

// 标注该类是一个实体,name表示表名
@Entity(name = "log")
public class Log {
    private long id;
    //URI
    private String requestUri;
    //提交参数
    private String params;
    //异常
    private String msg;
    //开始时间
    private long startDate;
    //结束时间
    private long endDate;

    @Id // 标识该字段是主键
    @GeneratedValue(strategy = GenerationType.AUTO) // 主键生成策略
  	// 表示对应的数据库的列  name为数据库的列名  length为列的大小  unique为是否唯一值 nullable为是否可为null
    @Column(name = "id", unique = true, nullable = false)
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }
    
    @Column(name = "requestUri")
    public String getRequestUri() {
        return requestUri;
    }

    public void setRequestUri(String requestUri) {
        this.requestUri = requestUri;
    }
    
    @Column(name = "params")
    public String getParams() {
        return params;
    }

    public void setParams(String params) {
        this.params = params;
    }

    @Column(name = "startDate")
    public long getStartDate() {
        return startDate;
    }

    public void setStartDate(long startDate) {
        this.startDate = startDate;
    }
    @Column(name = "endDate")
    public long getEndDate() {
        return endDate;
    }

    public void setEndDate(long endDate) {
        this.endDate = endDate;
    }

    @Column(name = "msg")
    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}

使用注解方式的话在构建配置时由于没有了映射配置文件,需要addAnnotatedClass所对应的实体类

Configuration configuration = new Configuration();
            configuration.configure()
            .addAnnotatedClass(TestAnn.class);

https://zhhll.icu/2021/框架/hibernate/基础/13.hibernate注解方式/

本文由mdnice多平台发布