Erro ao utilizar uma classe AbstractEntity na minha entidade

Pessoal, estou criando uma aplicação restFul com o spring boot. Tenha uma enidade Carro e tenho uma classe AbstractEntity que pretendo utilizar para gerar id para todas as entidades da minha API.
Quando rodo a aplicação dispara o seguinte erro:

Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled.
2019-10-09 18:16:01 ERROR o.s.boot.SpringApplication - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘entityManagerFactory’ defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: br.com.api.carroexemplo.models.entities.Carro
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:22

Tentei algumas solução mas nao tive sucesso. Poderiam em ajudar ? Por favor.

classe AbstractEntity:

public abstract class AbstractEntity {

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY)
private ID id;

public ID getId() {
	return id;
}

public void setId(ID id) {
	this.id = id;
}

@Override
public int hashCode() {
	final int prime = 31;
	int result = 1;
	result = prime * result + ((id == null) ? 0 : id.hashCode());
	return result;
}

@Override
public boolean equals(Object obj) {
	if (this == obj)
		return true;
	if (obj == null)
		return false;
	if (getClass() != obj.getClass())
		return false;
	AbstractEntity<?> other = (AbstractEntity<?>) obj;
	if (id == null) {
		if (other.id != null)
			return false;
	} else if (!id.equals(other.id))
		return false;
	return true;
}

@Override
public String toString() {
	return "id="+ id;
}

classe Carro:

@Entity
public class Carro extends AbstractEntity<‘Long>’ {

private String nome;
private String tipo;

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getTipo() {
	return tipo;
}

public void setTipo(String tipo) {
	this.tipo = tipo;
}

}

application.properties:

#MySQL
spring.datasource.url=jdbc:mysql://localhost:3306/carros?useSSL=false&allowPublicKeyRetrieval=true&useTimezone=true&serverTimezone=GMT
spring.datasource.username=xxx
spring.datasource.password=xxx

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

#SQL.
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=update

logging

logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
logging.level.org.hibernate.SQL=debug

Tente incluir, na classe AbstractEntity a anotação @MappedSuperclass

@MappedSuperclass
public abstract class AbstractEntity {
2 curtidas

Foi isso mesmo. Com essa annotation funcionou. Obrigado.