Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

265
Vistas
Accessing to Spring beans in Hibernate managed entity method marked by @PostLoad

I would like to enrich entity with additional data on load from DB inside @PostLoad.

How can I access to Spring managed beans inside @PostLoad method?

I use ugly solution with static accessor:

@Service
public class StaticApplicationContext implements ApplicationContextAware {
    private static ApplicationContext ctx = null;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        ctx = applicationContext;
    }

    public static ApplicationContext getApplicationContext() {
        return ctx;
    }
}

@Entity
public class Car {
    @Id
    private Long id;
    ...
    @Transient
    private List<XType> details;

    @PostLoad
    private void onLoad() {
         XTypeRepository repo = StaticApplicationContext.getCtx()
                .getBean(XTypeRepository.class) ;
         this.details = repo.findByCarId(this.id);
    }
}

Corresponding idea for static access described in Accessing spring beans in static method

Is there more idiomatic solution / framework sugar?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

@OneToMany
@JoinFormula(value = "SELECT * FROM xTypeTable xt WHERE xt.carId = id") 
private List<XType> pastArticles;

Can't you just use JoinFormula and load the data with standard tools? Just write SQL which retrieves data for the XType. In the example above replace id with column name of id property (if it's different)

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda