Domanda

Qualcuno sa un modo per intercettare la chiamata Hibernate farà per creare un'istanza di una classe ha indicato in un file .hbm.xml? Ho bisogno di un modo per utilizzare un ClassLoader personalizzato per fornire un'istanza. Non voglio a carico cambio di classe per Hibernate in generale, solo l'instantiate della classe mappata "POJO".

<hibernate-mapping>
    <class name="com.foo.Bar" table="Bar">

Nel codice Nell'esempio precedente, quando Hibernate vuole creare un'istanza di Bar ho bisogno di fornire quella classe con il codice personalizzato, invece di basarsi sul comportamento predefinito di classe di carico.

Grazie in anticipo per qualsiasi comprensione,
saethi

È stato utile?

Soluzione

È possibile personalizzare il modo Hibernate crea entità Tuplizer personalizzato. Vedere la documentazione di ibernazione, capitolo 4.5 .

È possibile estendere PojoEntityTuplizer, e l'override del metodo buildInstantiator(PersistentClass persistentClass) restituendo un'istanza Instantiator che costruisce entità tuttavia si preferisce.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top