2017-01-04 2 views
0

Ich habe großen Text im String-Format. Ich würde gerne wissen, wie man diesen String in CLOB konvertiert. Ich verwende Spring-Daten JPA, Spring Boot.Konvertieren String in CLOB im Frühjahr Daten JPA

Ich habe versucht,

clob.setString(position, string) 
+0

Bitte geben Sie Ihren Code an, wo Sie mit diesem Problem konfrontiert sind, Sie haben gerade Ihren Versuch erwähnt. – Avinash

+0

Welchen Fehler bekommen Sie? – Koitoer

+0

Warum verwenden Sie diese Low-Level-API mit Spring Data? Können wir einen Schritt zurückgehen und verstehen, was Sie zu tun versuchen? Sie sollten Clob nicht direkt verwenden. –

Antwort

4

Ohne Ziehen mit der Frage weiter verwenden mag ich es einfach beantworten.

In Spring Data JPA sollte es eine Entität geben, die String ist und als CLOB in DB gespeichert werden muss. Also sollte die CLOB-Spalte der Entität so aussehen.

@Entity 
public class SampleData { 
    // other columns 

    @Column(name="SAMPLE", columnDefinition="CLOB NOT NULL") 
    @Lob 
    private String sample; 

    // setters and getters 
} 

Dann sollten Sie ein Repository wie haben unter

public interface SampleDataRepo extends PagingAndSortingRepository<SampleData, Integer> { 

} 

Jetzt in Service-Methode Sie so etwas wie tun könnte unter

@Service 
public class SampleDataService { 

    @Autowire 
    SampleDataRepo repo; 

    public SampleData saveSampleData() { 
     SampleData sd = new SampleData(); 
     sd.setSample("longtest"); 

     repo.save(sd); 
    } 
} 

Dies ist, wie die String-Daten als CLOB gespeichert in DB.

+0

Danke Avinash. Alles, was ich tat, war @Lob oben auf der Spalte und es funktioniert wie Charme. – Samantha

+0

Vielen Dank, dass Sie sich mit diesem Problem beschäftigt haben. – Samantha

+0

Kann ich dasselbe tun, aber mit Dateityp anstelle von String? –

Verwandte Themen