package com.trevorgowing.projectlog.common.persistence;

import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.data.domain.Persistable;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Objects;

@MappedSuperclass
@NoArgsConstructor
@EqualsAndHashCode
@ToString
public abstract class AbstractPersistable<PK extends Serializable> implements Persistable<PK> {

    private static final long serialVersionUID = 5662590973333935284L;

    @Id
    @Basic(optional = false)
    @Column(nullable = false, unique = true)
    @GeneratedValue
    private PK id;

    public AbstractPersistable(PK id) {
        this.id = id;
    }

    @Override
    public PK getId() {
        return id;
    }

    @Override
    @Transient
    public boolean isNew() {
        return Objects.equals(id, null);
    }
}

@@ -120,32 +120,8 @@
 or;%0A
-import lombok.ToString;%0A
 impo
@@ -313,18 +313,8 @@
 ode%0A
-@ToString%0A
 publ
@@ -837,11 +837,292 @@
 );%0A    %7D
+%0A%0A    @Override%0A    public String toString() %7B%0A        final StringBuilder toStringBuilder = new StringBuilder(getClass().getSimpleName() + %22%7B%22);%0A        toStringBuilder.append(%22id=%22).append(id);%0A        toStringBuilder.append('%7D');%0A        return toStringBuilder.toString();%0A    %7D
 %0A%7D%0A

Implement AbstractPersistable#toString rather than using lombok. Determine class name at runtime.