package com.ankurm.hibernatedemo.bootstrap; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; /** * Backs ankurm.com post 4855 (bootstrapping EntityManager). Docs: docs/17-entitymanager-bootstrap.md. * *
Deliberately NOT scanned by Spring's own auto-configured {@code EntityManagerFactory} * (see {@code META-INF/persistence.xml} under {@code src/test/resources}, which is what * {@link EntityManagerBootstrapTest} actually bootstraps against) -- this chapter is about raw * JPA bootstrapping, deliberately bypassing Spring Boot's autoconfiguration entirely so the two * paths the fictional original article described (XML vs {@code PersistenceConfiguration}) are * both exercised for real. */ @Entity public class BootstrapUser { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; protected BootstrapUser() { // JPA } public BootstrapUser(String name, String email) { this.name = name; this.email = email; } public Long getId() { return id; } public String getName() { return name; } public String getEmail() { return email; } @Override public String toString() { return "BootstrapUser{id=%s, name=%s, email=%s}".formatted(id, name, email); } }