At this point, there are still some known issues and limitations affecting the use of SQLContainer in certain situations. The known issues and brief explanations are listed below:
String
by the JDBC driver in use)
com.vaadin.addon.sqlcontainer.query.generator.StatementHelper
for details.
When using Oracle or MS SQL database, the column name
"rownum
" can not be used as a column name in a
table connected to SQLContainer
.
This limitation exists because the databases in question do not support limit/offset clauses required for paging. Instead, a generated column named 'rownum' is used to implement paging support.
The permanent limitations are listed below. These can not or most probably will not be fixed in future versions of SQLContainer.
getItemIds()
method is very inefficient -
avoid calling it unless absolutely required!
FreeformQuery
without providing a
FreeformStatementDelegate
, the row count query is
very inefficient - avoid using FreeformQuery
without implementing at least the count query properly.
FreeformQuery
without providing a
FreeformStatementDelegate
, writing, sorting and
filtering will not be supported.
When using Oracle database most or all of the numeric types are
converted to java.math.BigDecimal
by the Oracle
JDBC Driver.
This is a feature of how Oracle DB and the Oracle JDBC Driver handles data types.