All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.owdp.dbutil.DbBean Maven / Gradle / Ivy

The newest version!
package com.owdp.dbutil;


import com.owdp.dbutil.meta.ColumnMeta;
import com.owdp.dbutil.meta.Meta;

import java.io.Serializable;


public abstract class DbBean implements Serializable{
    private static final long serialVersionUID = -2749113043154647433L;




    @Override
    public int hashCode() {
        Meta meta = Meta.parse(getClass());
        Object id = meta.getIdColumn().get(this);
        return id == null ? 0 : id.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if(obj == null){
            return false;
        }
        if(obj.getClass() != getClass()){
            return false;
        }
        if(obj instanceof DbBean){
            Meta meta = Meta.parse(getClass());
            Object id = meta.getIdColumn().get(this);
            Object objId = meta.getIdColumn().get(obj);
            return id == null ? objId == null : id.equals(objId);
        }
        return false;
    }

    @Override
    public String toString() {
        ColumnMeta idColumn = Meta.parse(getClass()).getIdColumn();
        return getClass().getSimpleName() +
                "{" +
                idColumn.getName() + "=" + idColumn.get(this) +
                "}";
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy