sto usando EJB3 e JPA (sulla base degli Hibernate e Oracle 10g per il momento)Come creare un Clob in JPA in un'implementazione agnostica modo
Ho un'entità che contiene un clob
@Entity
@Table(name = "My_TAB")
public class ExampleEntity implements java.io.Serializable {
private Clob someText;
public void setSomeText(Clob someText) {
this.someText= someText;
}
@Column(name = "COLUMN_NAME")
public Clob getSomeText() {
return this.someText;
}
Quindi voglio salvare un'entità di questo tipo.
Al momento sto facendo la seguente che funziona perfettamente
ExampleEntity exampleEntity = new ExampleEntity();
exampleEntity.setSomeText(Hibernate.createClob(aStringValue));
someOtherDao.save(exampleEntity);
Tuttavia questa lega il mio codice di Hibernate! Ho appositamente evitato le estensioni Hibernate e ho usato solo annotazioni JPA. Il codice funziona perché Hibernate è la mia attuale implementazione.
C'è una sorta di JPA API che mi permette di creare un CLOB in modo generico? Quindi, se in seguito ho deciso di passare a Braccio terzo/EclipseLink o qualcos'altro che non dovrò cambiare una cosa?
Si potrebbe anche voler '@Basic (fetch = LAZY)' per il caricamento lazy. – axtavt
@Basic (prendere = LAZY) non funzionerà in una proprietà di ibernazione. Almeno non senza instumentation. – yannisf
Non funziona con "Oracle 11g R2" - la mia definizione di colonna è @Column (columnDefinition = "CLOB NOT NULL") @Lob note stringa private; ma Oracle crea sempre la colonna come "CLOB (4000)". Mi sto perdendo qualcosa ? Sto usando la versione "Hibernate 3.2.0-Final" (con JBoss 6.0-Final). – javauser71