持久化类的要求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了持久化类的要求相关的知识,希望对你有一定的参考价值。

持久化类的要求

1.Hibernate对于持久化类没有太多的要求,但是还是应该遵循以下的原则来创建持久化类:

(1)提供一个无参数的构造器:

  此构造器可以不是被public所修饰,但是只要有无参构造器,Hibernate就可以使用Constructor.newInstance()来创建持久化类实例了,为了方便Hibernate在运行时生成代理,构造器的访问修饰符至少是包可见的。

(2)提供一个标识属性:

  标识属性通常映射数据库表的主键字段。

(3)为持久化类的每个成员变量提供setter、getter方法;

(4)使用非final类;

(5)重写equals()和hashCode()方法:

2.持久化类可以拥有子类,持久化类的子类可以继承父类的标识属性。

3.写一个简单的持久化类(PO):

package test1;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="teacher_info")
public class Teachers {
    //设置标识属性
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer tId;
    private String name;
    private Integer age;
    //提供无参构造方法
    public Teachers(){
        
    }
    //提供setter、getter方法
    public void setTId(Integer tId){
        this.tId = tId;
    }
    public Integer getTId(){
        return this.tId;
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return this.name;
    }
    public void setAge(Integer age){
        this.age = age;
    }
    public Integer getAge(){
        return this.age;
    }
    //重写equals方法
    public boolean equals(Object obj){
        if(obj==null){
            return false;
        }else if(this==obj){
            return true;
        }else if(obj instanceof Teachers){
            Teachers tea = (Teachers) obj;
            return tea.getTId().equals(this.getTId());
        }else{
            return false;
        }
    }
    //重写hashCode方法
    public int hashCode(){
        return this.getTId();
    }
}

 

 

 

以上是关于持久化类的要求的主要内容,如果未能解决你的问题,请参考以下文章

持久片段和查看器

片段中的Firebase数据不是持久的,会重新下载

SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段

回栈事务后如何持久化分片数据?

是否可以将持久底片作为片段?

java 代码片段