Znalazłem następujący problem, który wydaje się być jednym z następujących: prettycommon. Wyjątkiem jest Cannot update entity: [...] nested exception is java.sql.BatchUpdateException: ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column
. Wygląda na to, że Oracle nie lubi wiązania dużych wartości (> 4000 znaków) do parametrów po LOB lub CLOB. Czy ktoś rozwiązał ten problem?Dziwny błąd Oracle z Hibernate i CLOBs
Odpowiedz
To jest: ORA-24816
** Jest to ograniczenie, a zmienne wiążące LONG muszą być ostatnimi w instrukcji. **
źródło: http://www.odi.ch/weblog/posting.php?posting=496
Rozwiązanie: Zmiana nazwy pola w modelu hibernacji tak, że kolumna CLOB ma nazwę, która pochodzi później niż kolumny VARCHAR2 przy zamawianiu alfabetycznie (ja prefiksem pole Clob w klasa java z 'z'), wszystko działa poprawnie, ponieważ wtedy parametr clob pojawia się po parametrze varchar w kompilacji hibernacji zapytania.
Napotkaliśmy ten sam problem z Hibernate 3.2.1 i naprawiliśmy wstawiając rekord bez CLOB-ów, a następnie aktualizując ten rekord za pomocą CLOB.
public class Employee{
@Lob
@Column
private String description;
//getters setters
}
String desc = emp.getDescription();
emp.setDescription(null);
session.save(entity);
session.flush();
session.evict(entity);
StringBuilder sb = new StringBuilder();
sb.append("update Employee set description:description");
Query updateQuery = session.createQuery(sb.toString());
updateQuery.setParameter("description", desc, Hibernate.STRING);
updateQuery.executeUpdate();
Jeśli używasz adnotacji Hibernate, to nie ma sposobu, aby przewidzieć kolejność kolumn w instrukcji insert. Naprawiono to w Hibernate v4.1.8.
- 1. Dziwny błąd z XMLTABLE na Oracle 11g
- 2. dziwny błąd NHibernate
- 3. Hibernate Oracle Adumulation Tablespace
- 4. Hibernate auto generowania klucza z MySQL i Oracle
- 5. Dziwny błąd semantyczny
- 6. Okrągły dziwny błąd MySQL
- 7. Dziwny błąd generyczny
- 8. Dziwny błąd na Videojs
- 9. Dziwny błąd AJAX z IE 11
- 10. Jak wywołać funkcję Oracle z Hibernate z parametrem zwracającym?
- 11. Dziwny błąd podczas wykonywania httpclient
- 12. Hibernate sparametryzowane zapytanie sql wolne i aktywne sesje oracle
- 13. Dziwny nieoczekiwany błąd tagu "stylesheets"
- 14. Błąd podczas próby wyświetlenia obrazu (obiekt blob) w jsp (Spring i Hibernate with Oracle Database)
- 15. Błąd połączenia z Oracle DB z Java
- 16. Oracle ODBC Błąd
- 17. Django - Oracle błąd wewnętrzny
- 18. Dziwny błąd w PHP, Spaces in Paths i Windows
- 19. Dziwny błąd generowania obrazu w asp.net
- 20. Dziwny błąd po uaktualnieniu Android Studio
- 21. MVC3 Dziwny błąd po włączeniu kompilacji widoków
- 22. Dziwny błąd gcc: zabłąkany "\ NNN" w programie
- 23. Dziwny błąd odbicia na wnioskowanym typie
- 24. przy użyciu kolekcji podklasowejViewViewLayout Otrzymuję dziwny błąd
- 25. SyntaxError: niezakończony ciąg literalny dziwny błąd
- 26. "CIImage to typ niezadeklarowany" dziwny błąd
- 27. Dziwny błąd 404 w ASP.NET MVC z włączeniem "con"
- 28. Dziwny błąd z platformą Messenger Messenger/bot Welcome Confugration
- 29. /_ah/queue/odroczony dziwny błąd importu
- 30. Dostaję dziwny błąd na android studio
Okazało się, że z podmiotami XML odwzorowany mogę zmienić kolejność właściwości w konfiguracji, aby uzyskać CLOB do końca INSERT/UPDATE. Na przykład. ' ' –