Неготовые новости и направления
This commit is contained in:
parent
f12e9dfad5
commit
d8b298fc5f
@ -30,7 +30,7 @@ repositories {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-web'
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
||||||
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'
|
// implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'
|
||||||
implementation 'org.modelmapper:modelmapper:3.2.0'
|
implementation 'org.modelmapper:modelmapper:3.2.0'
|
||||||
|
|
||||||
implementation 'org.springframework.boot:spring-boot-devtools'
|
implementation 'org.springframework.boot:spring-boot-devtools'
|
||||||
|
BIN
data.mv.db
BIN
data.mv.db
Binary file not shown.
467
data.trace.db
467
data.trace.db
@ -25692,3 +25692,470 @@ Column "KEY_SEQ" not found [42122-224]
|
|||||||
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:44:43.354239+04:00 jdbc[3]: exception
|
||||||
|
java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported.
|
||||||
|
at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1626)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.populateClientAppName(GenericDataSource.java:199)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.openConnection(GenericDataSource.java:162)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2DataSource.openConnection(H2DataSource.java:74)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:106)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:102)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.<init>(JDBCRemoteInstance.java:61)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:119)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.<init>(GenericDataSource.java:124)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2DataSource.<init>(H2DataSource.java:43)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createDataSourceImpl(H2MetaModel.java:55)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider.openDataSource(GenericDataSourceProvider.java:106)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.openDataSource(DataSourceDescriptor.java:1366)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect0(DataSourceDescriptor.java:1243)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:1033)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.DatabaseLazyEditorInput.initializeRealInput(DatabaseLazyEditorInput.java:262)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.ProgressEditorPart$InitNodeService.evaluate(ProgressEditorPart.java:171)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.ProgressEditorPart$InitNodeService.evaluate(ProgressEditorPart.java:1)
|
||||||
|
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:89)
|
||||||
|
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:73)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:44:45.289444+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.getBestIdentifier(DBExecUtils.java:544)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:886)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:44:45.291439+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.getBestIdentifier(DBExecUtils.java:544)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:886)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:44:45.292436+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.getBestIdentifier(DBExecUtils.java:544)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:886)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:44:45.296425+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ForeignKeysCache.fetchObject(ForeignKeysCache.java:146)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ForeignKeysCache.fetchObject(ForeignKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:351)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getAssociations(GenericTableBase.java:282)
|
||||||
|
at org.jkiss.dbeaver.model.virtual.DBVUtils.getAllAssociations(DBVUtils.java:329)
|
||||||
|
at org.jkiss.dbeaver.model.DBUtils.getAttributeReferrers(DBUtils.java:1062)
|
||||||
|
at org.jkiss.dbeaver.model.data.DBDAttributeBindingMeta.lateBinding(DBDAttributeBindingMeta.java:267)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:906)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:44:45.297423+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ForeignKeysCache.fetchObject(ForeignKeysCache.java:146)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ForeignKeysCache.fetchObject(ForeignKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:351)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getAssociations(GenericTableBase.java:282)
|
||||||
|
at org.jkiss.dbeaver.model.virtual.DBVUtils.getAllAssociations(DBVUtils.java:329)
|
||||||
|
at org.jkiss.dbeaver.model.DBUtils.getAttributeReferrers(DBUtils.java:1062)
|
||||||
|
at org.jkiss.dbeaver.model.data.DBDAttributeBindingMeta.lateBinding(DBDAttributeBindingMeta.java:267)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:906)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:45:01.452382+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.getBestIdentifier(DBExecUtils.java:544)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:886)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:45:01.453380+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.getBestIdentifier(DBExecUtils.java:544)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:886)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:45:01.453380+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.getBestIdentifier(DBExecUtils.java:544)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:886)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:45:01.454377+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.getBestIdentifier(DBExecUtils.java:544)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:886)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:45:01.454377+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.getBestIdentifier(DBExecUtils.java:544)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:886)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 20:45:01.455374+04:00 jdbc[3]: exception
|
||||||
|
org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "KEY_SEQ" не найден
|
||||||
|
Column "KEY_SEQ" not found [42122-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:223)
|
||||||
|
at org.h2.message.DbException.get(DbException.java:199)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492)
|
||||||
|
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:337)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:500)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:84)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createConstraintColumnsImpl(GenericMetaModel.java:869)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createConstraintColumnsImpl(H2MetaModel.java:178)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:98)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.ConstraintKeysCache.fetchObjectRow(ConstraintKeysCache.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.loadObjects(JDBCCompositeCache.java:360)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCCompositeCache.getObjects(JDBCCompositeCache.java:120)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:251)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericTableBase.getConstraints(GenericTableBase.java:1)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.getBestIdentifier(DBExecUtils.java:544)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.bindAttributes(DBExecUtils.java:886)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetDataReceiver.fetchEnd(ResultSetDataReceiver.java:165)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:212)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
|
||||||
|
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:194)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
|
||||||
|
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5152)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 21:34:34.439796+04:00 database: flush
|
||||||
|
org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/Study/InternetP/Internet-Programming-2/Internet_Programming_2/data.mv.db [2.2.224/7]"
|
||||||
|
General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/Study/InternetP/Internet-Programming-2/Internet_Programming_2/data.mv.db [2.2.224/7]" [50000-224]
|
||||||
|
at org.h2.message.DbException.get(DbException.java:212)
|
||||||
|
at org.h2.message.DbException.convert(DbException.java:407)
|
||||||
|
at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122)
|
||||||
|
at org.h2.mvstore.MVStore.handleException(MVStore.java:1546)
|
||||||
|
at org.h2.mvstore.MVStore.panic(MVStore.java:371)
|
||||||
|
at org.h2.mvstore.MVStore.<init>(MVStore.java:291)
|
||||||
|
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035)
|
||||||
|
at org.h2.mvstore.db.Store.<init>(Store.java:133)
|
||||||
|
at org.h2.engine.Database.<init>(Database.java:326)
|
||||||
|
at org.h2.engine.Engine.openSession(Engine.java:92)
|
||||||
|
at org.h2.engine.Engine.openSession(Engine.java:222)
|
||||||
|
at org.h2.engine.Engine.createSession(Engine.java:201)
|
||||||
|
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343)
|
||||||
|
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:125)
|
||||||
|
at org.h2.Driver.connect(Driver.java:59)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCConnectionOpener.run(JDBCConnectionOpener.java:109)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCConnectionOpener.run(JDBCConnectionOpener.java:83)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:221)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.openConnection(GenericDataSource.java:159)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2DataSource.openConnection(H2DataSource.java:74)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:106)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:102)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.<init>(JDBCRemoteInstance.java:61)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:119)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.<init>(GenericDataSource.java:124)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2DataSource.<init>(H2DataSource.java:43)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createDataSourceImpl(H2MetaModel.java:55)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider.openDataSource(GenericDataSourceProvider.java:106)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.openDataSource(DataSourceDescriptor.java:1368)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect0(DataSourceDescriptor.java:1245)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:1035)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.DatabaseLazyEditorInput.initializeRealInput(DatabaseLazyEditorInput.java:262)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.ProgressEditorPart$InitNodeService.evaluate(ProgressEditorPart.java:171)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.ProgressEditorPart$InitNodeService.evaluate(ProgressEditorPart.java:1)
|
||||||
|
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:94)
|
||||||
|
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:78)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/Study/InternetP/Internet-Programming-2/Internet_Programming_2/data.mv.db [2.2.224/7]"
|
||||||
|
General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/Study/InternetP/Internet-Programming-2/Internet_Programming_2/data.mv.db [2.2.224/7]" [50000-224]
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:566)
|
||||||
|
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||||
|
... 38 more
|
||||||
|
Caused by: org.h2.mvstore.MVStoreException: The file is locked: D:/Study/InternetP/Internet-Programming-2/Internet_Programming_2/data.mv.db [2.2.224/7]
|
||||||
|
at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996)
|
||||||
|
at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143)
|
||||||
|
at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117)
|
||||||
|
at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81)
|
||||||
|
at org.h2.mvstore.MVStore.<init>(MVStore.java:286)
|
||||||
|
... 32 more
|
||||||
|
2024-05-19 21:35:48.769204+04:00 jdbc[3]: exception
|
||||||
|
java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported.
|
||||||
|
at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1626)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.populateClientAppName(GenericDataSource.java:199)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.openConnection(GenericDataSource.java:162)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2DataSource.openConnection(H2DataSource.java:74)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:106)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:102)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.<init>(JDBCRemoteInstance.java:61)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:119)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.<init>(GenericDataSource.java:124)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2DataSource.<init>(H2DataSource.java:43)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createDataSourceImpl(H2MetaModel.java:55)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider.openDataSource(GenericDataSourceProvider.java:106)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.openDataSource(DataSourceDescriptor.java:1368)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect0(DataSourceDescriptor.java:1245)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:1035)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.DatabaseLazyEditorInput.initializeRealInput(DatabaseLazyEditorInput.java:262)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.ProgressEditorPart$InitNodeService.evaluate(ProgressEditorPart.java:171)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.ProgressEditorPart$InitNodeService.evaluate(ProgressEditorPart.java:1)
|
||||||
|
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:94)
|
||||||
|
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:78)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
2024-05-19 21:35:49.910685+04:00 jdbc[3]: exception
|
||||||
|
java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported.
|
||||||
|
at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1626)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.populateClientAppName(GenericDataSource.java:199)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.openConnection(GenericDataSource.java:162)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2DataSource.openConnection(H2DataSource.java:74)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:106)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:102)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.<init>(JDBCRemoteInstance.java:61)
|
||||||
|
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:119)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.<init>(GenericDataSource.java:124)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2DataSource.<init>(H2DataSource.java:43)
|
||||||
|
at org.jkiss.dbeaver.ext.h2.model.H2MetaModel.createDataSourceImpl(H2MetaModel.java:55)
|
||||||
|
at org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider.openDataSource(GenericDataSourceProvider.java:106)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.openDataSource(DataSourceDescriptor.java:1368)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect0(DataSourceDescriptor.java:1245)
|
||||||
|
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:1035)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.DatabaseLazyEditorInput.initializeRealInput(DatabaseLazyEditorInput.java:262)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.ProgressEditorPart$InitNodeService.evaluate(ProgressEditorPart.java:171)
|
||||||
|
at org.jkiss.dbeaver.ui.editors.ProgressEditorPart$InitNodeService.evaluate(ProgressEditorPart.java:1)
|
||||||
|
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:94)
|
||||||
|
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:78)
|
||||||
|
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115)
|
||||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
package com.example.demo.core.api;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
|
||||||
|
public class PageAttributesMapper {
|
||||||
|
private PageAttributesMapper() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <E, D> Map<String, Object> toAttributes(Page<E> page, Function<E, D> mapper) {
|
||||||
|
return Map.of(
|
||||||
|
"items", page.getContent().stream().map(mapper::apply).toList(),
|
||||||
|
"currentPage", page.getNumber(),
|
||||||
|
"totalPages", page.getTotalPages());
|
||||||
|
}
|
||||||
|
}
|
@ -1,97 +0,0 @@
|
|||||||
package com.example.demo.core.api;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class PageDto<D> {
|
|
||||||
private List<D> items = new ArrayList<>();
|
|
||||||
private int itemsCount;
|
|
||||||
private int currentPage;
|
|
||||||
private int currentSize;
|
|
||||||
private int totalPages;
|
|
||||||
private long totalItems;
|
|
||||||
private boolean isFirst;
|
|
||||||
private boolean isLast;
|
|
||||||
private boolean hasNext;
|
|
||||||
private boolean hasPrevious;
|
|
||||||
|
|
||||||
public List<D> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<D> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getItemsCount() {
|
|
||||||
return itemsCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItemsCount(int itemsCount) {
|
|
||||||
this.itemsCount = itemsCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getCurrentPage() {
|
|
||||||
return currentPage;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCurrentPage(int currentPage) {
|
|
||||||
this.currentPage = currentPage;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getCurrentSize() {
|
|
||||||
return currentSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCurrentSize(int currentSize) {
|
|
||||||
this.currentSize = currentSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getTotalPages() {
|
|
||||||
return totalPages;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTotalPages(int totalPages) {
|
|
||||||
this.totalPages = totalPages;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getTotalItems() {
|
|
||||||
return totalItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTotalItems(long totalItems) {
|
|
||||||
this.totalItems = totalItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isFirst() {
|
|
||||||
return isFirst;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFirst(boolean isFirst) {
|
|
||||||
this.isFirst = isFirst;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isLast() {
|
|
||||||
return isLast;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLast(boolean isLast) {
|
|
||||||
this.isLast = isLast;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isHasNext() {
|
|
||||||
return hasNext;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHasNext(boolean hasNext) {
|
|
||||||
this.hasNext = hasNext;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isHasPrevious() {
|
|
||||||
return hasPrevious;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHasPrevious(boolean hasPrevious) {
|
|
||||||
this.hasPrevious = hasPrevious;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
package com.example.demo.core.api;
|
|
||||||
|
|
||||||
import java.util.function.Function;
|
|
||||||
|
|
||||||
import org.springframework.data.domain.Page;
|
|
||||||
|
|
||||||
public class PageDtoMapper {
|
|
||||||
private PageDtoMapper() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <D, E> PageDto<D> toDto(Page<E> page, Function<E, D> mapper) {
|
|
||||||
final PageDto<D> dto = new PageDto<>();
|
|
||||||
dto.setItems(page.getContent().stream().map(mapper::apply).toList());
|
|
||||||
dto.setItemsCount(page.getNumberOfElements());
|
|
||||||
dto.setCurrentPage(page.getNumber());
|
|
||||||
dto.setCurrentSize(page.getSize());
|
|
||||||
dto.setTotalPages(page.getTotalPages());
|
|
||||||
dto.setTotalItems(page.getTotalElements());
|
|
||||||
dto.setFirst(page.isFirst());
|
|
||||||
dto.setLast(page.isLast());
|
|
||||||
dto.setHasNext(page.hasNext());
|
|
||||||
dto.setHasPrevious(page.hasPrevious());
|
|
||||||
return dto;
|
|
||||||
}
|
|
||||||
}
|
|
@ -5,7 +5,7 @@ public class Constants {
|
|||||||
|
|
||||||
public static final String API_URL = "/api/1.0";
|
public static final String API_URL = "/api/1.0";
|
||||||
|
|
||||||
public static final String DEFAULT_PAGE_SIZE = "5";
|
public static final int DEFAULT_PAGE_SIZE = 5;
|
||||||
|
|
||||||
public static final String REDIRECT_VIEW = "redirect:";
|
public static final String REDIRECT_VIEW = "redirect:";
|
||||||
|
|
||||||
|
@ -1,28 +1,29 @@
|
|||||||
package com.example.demo.directions.api;
|
package com.example.demo.directions.api;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.modelmapper.ModelMapper;
|
import org.modelmapper.ModelMapper;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import com.example.demo.core.api.PageDto;
|
import com.example.demo.core.api.PageAttributesMapper;
|
||||||
import com.example.demo.core.api.PageDtoMapper;
|
|
||||||
import com.example.demo.core.configuration.Constants;
|
import com.example.demo.core.configuration.Constants;
|
||||||
import com.example.demo.department.service.DepartmentService;
|
import com.example.demo.department.service.DepartmentService;
|
||||||
import com.example.demo.directions.service.DirectionsService;
|
|
||||||
import com.example.demo.directions.model.DirectionsEntity;
|
import com.example.demo.directions.model.DirectionsEntity;
|
||||||
|
import com.example.demo.directions.model.DirectionsGrouped;
|
||||||
|
import com.example.demo.directions.service.DirectionsService;
|
||||||
|
|
||||||
import jakarta.validation.Valid;
|
@Controller
|
||||||
|
@RequestMapping(DirectionsController.URL)
|
||||||
@RestController
|
|
||||||
@RequestMapping(Constants.API_URL + "/directions")
|
|
||||||
public class DirectionsController {
|
public class DirectionsController {
|
||||||
|
public static final String URL = "/directions";
|
||||||
|
private static final String DIRECTIONS_VIEW = "directions";
|
||||||
|
private static final String DIRECTIONS_EDIT_VIEW = "direction-edit";
|
||||||
|
private static final String DIRECTIONS_ATTRIBUTE = "directions";
|
||||||
|
private static final String PAGE_ATTRIBUTE = "page";
|
||||||
private final DirectionsService directionsService;
|
private final DirectionsService directionsService;
|
||||||
private final ModelMapper modelMapper;
|
private final ModelMapper modelMapper;
|
||||||
private final DepartmentService departmentService;
|
private final DepartmentService departmentService;
|
||||||
@ -44,31 +45,46 @@ public class DirectionsController {
|
|||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private DirectionsGroupedDto toGroupedDto(DirectionsGrouped entity){
|
||||||
|
return modelMapper.map(entity, DirectionsGroupedDto.class);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public PageDto<DirectionsDto> getAll(
|
public String getAllWithDepartment(
|
||||||
@RequestParam(name = "departmentId", defaultValue = "0") Long departmentId,
|
@RequestParam(name="PAGE_ATTRIBUTE", defaultValue = "0") int page,
|
||||||
@RequestParam(name = "page", defaultValue = "0") int page,
|
Model model) {
|
||||||
@RequestParam(name = "size", defaultValue = Constants.DEFAULT_PAGE_SIZE) int size) {
|
final Map<String, Object> attributes = PageAttributesMapper.
|
||||||
return PageDtoMapper.toDto(directionsService.getAll(departmentId, page, size), this::toDto);
|
toAttributes(directionsService.getAllWithDepartment(page, Constants.DEFAULT_PAGE_SIZE), this::toGroupedDto);
|
||||||
|
model.addAllAttributes(attributes);
|
||||||
|
model.addAttribute(PAGE_ATTRIBUTE, page);
|
||||||
|
return DIRECTIONS_VIEW;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/{id}")
|
// @GetMapping
|
||||||
public DirectionsDto get(@PathVariable(name = "id") Long id) {
|
// public PageDto<DirectionsDto> getAll(
|
||||||
return toDto(directionsService.get(id));
|
// @RequestParam(name = "departmentId", defaultValue = "0") Long departmentId,
|
||||||
}
|
// @RequestParam(name = "page", defaultValue = "0") int page,
|
||||||
|
// @RequestParam(name = "size", defaultValue = Constants.DEFAULT_PAGE_SIZE) int size) {
|
||||||
|
// return PageDtoMapper.toDto(directionsService.getAll(departmentId, page, size), this::toDto);
|
||||||
|
// }
|
||||||
|
|
||||||
@PostMapping
|
// @GetMapping("/{id}")
|
||||||
public DirectionsDto create(@RequestBody @Valid DirectionsDto dto) {
|
// public DirectionsDto get(@PathVariable(name = "id") Long id) {
|
||||||
return toDto(directionsService.create(toEntity(dto)));
|
// return toDto(directionsService.get(id));
|
||||||
}
|
// }
|
||||||
|
|
||||||
@PutMapping("/{id}")
|
// @PostMapping
|
||||||
public DirectionsDto update(@PathVariable(name = "id") Long id, @RequestBody DirectionsDto dto) {
|
// public DirectionsDto create(@RequestBody @Valid DirectionsDto dto) {
|
||||||
return toDto(directionsService.update(id, toEntity(dto)));
|
// return toDto(directionsService.create(toEntity(dto)));
|
||||||
}
|
// }
|
||||||
|
|
||||||
@DeleteMapping("/{id}")
|
// @PutMapping("/{id}")
|
||||||
public DirectionsDto delete(@PathVariable(name = "id") Long id) {
|
// public DirectionsDto update(@PathVariable(name = "id") Long id, @RequestBody DirectionsDto dto) {
|
||||||
return toDto(directionsService.delete(id));
|
// return toDto(directionsService.update(id, toEntity(dto)));
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
// @DeleteMapping("/{id}")
|
||||||
|
// public DirectionsDto delete(@PathVariable(name = "id") Long id) {
|
||||||
|
// return toDto(directionsService.delete(id));
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
package com.example.demo.directions.api;
|
||||||
|
|
||||||
|
public class DirectionsGroupedDto {
|
||||||
|
private Long id;
|
||||||
|
private String code;
|
||||||
|
private String name;
|
||||||
|
private String departmentName;
|
||||||
|
private String things;
|
||||||
|
|
||||||
|
public Long getId(){
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id){
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCode(String code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDepartmentName() {
|
||||||
|
return departmentName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDepartmentName(String departmentName) {
|
||||||
|
this.departmentName = departmentName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getThings() {
|
||||||
|
return things;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setThings(String things) {
|
||||||
|
this.things = things;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
package com.example.demo.directions.model;
|
||||||
|
|
||||||
|
public interface DirectionsGrouped {
|
||||||
|
String getCode();
|
||||||
|
String getName();
|
||||||
|
Long getId();
|
||||||
|
String getThings();
|
||||||
|
String getDepartmentName();
|
||||||
|
}
|
@ -5,11 +5,14 @@ import java.util.Optional;
|
|||||||
|
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.data.jpa.repository.Query;
|
||||||
import org.springframework.data.repository.CrudRepository;
|
import org.springframework.data.repository.CrudRepository;
|
||||||
|
import org.springframework.data.repository.PagingAndSortingRepository;
|
||||||
|
|
||||||
import com.example.demo.directions.model.DirectionsEntity;
|
import com.example.demo.directions.model.DirectionsEntity;
|
||||||
|
import com.example.demo.directions.model.DirectionsGrouped;
|
||||||
|
|
||||||
public interface DirectionsRepository extends CrudRepository<DirectionsEntity, Long> {
|
public interface DirectionsRepository extends CrudRepository<DirectionsEntity, Long>, PagingAndSortingRepository<DirectionsEntity, Long> {
|
||||||
Optional<DirectionsEntity> findByNameIgnoreCase(String name);
|
Optional<DirectionsEntity> findByNameIgnoreCase(String name);
|
||||||
|
|
||||||
List<DirectionsEntity> findByDepartmentId(long departmentId);
|
List<DirectionsEntity> findByDepartmentId(long departmentId);
|
||||||
@ -17,4 +20,8 @@ public interface DirectionsRepository extends CrudRepository<DirectionsEntity, L
|
|||||||
Page<DirectionsEntity> findByDepartmentId(long departmentId, Pageable pageable);
|
Page<DirectionsEntity> findByDepartmentId(long departmentId, Pageable pageable);
|
||||||
|
|
||||||
Page<DirectionsEntity> findAll(Pageable pageable);
|
Page<DirectionsEntity> findAll(Pageable pageable);
|
||||||
|
@Query("select d.id as id, d.code as code, d.name as name, d.things as things, " +
|
||||||
|
"d.department.name as departmentName " +
|
||||||
|
"from DirectionsEntity d ")
|
||||||
|
Page<DirectionsGrouped> findAllWithDepartment(Pageable pageable);
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import com.example.demo.core.error.NotFoundException;
|
import com.example.demo.core.error.NotFoundException;
|
||||||
import com.example.demo.directions.model.DirectionsEntity;
|
import com.example.demo.directions.model.DirectionsEntity;
|
||||||
|
import com.example.demo.directions.model.DirectionsGrouped;
|
||||||
import com.example.demo.directions.repository.DirectionsRepository;
|
import com.example.demo.directions.repository.DirectionsRepository;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@ -79,4 +80,10 @@ public class DirectionsService {
|
|||||||
repository.delete(existsEntity);
|
repository.delete(existsEntity);
|
||||||
return existsEntity;
|
return existsEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public Page<DirectionsGrouped> getAllWithDepartment(int page, int size) {
|
||||||
|
final Pageable pageRequest = PageRequest.of(page, size);
|
||||||
|
return repository.findAllWithDepartment(pageRequest);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,8 +13,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import com.example.demo.core.api.PageDto;
|
|
||||||
import com.example.demo.core.api.PageDtoMapper;
|
|
||||||
import com.example.demo.core.configuration.Constants;
|
import com.example.demo.core.configuration.Constants;
|
||||||
import com.example.demo.department.service.DepartmentService;
|
import com.example.demo.department.service.DepartmentService;
|
||||||
import com.example.demo.entrysData.model.EntrysDataEntity;
|
import com.example.demo.entrysData.model.EntrysDataEntity;
|
||||||
@ -51,13 +49,13 @@ public class EntrysDataController {
|
|||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping
|
// @GetMapping
|
||||||
public PageDto<EntrysDataDto> getAll(
|
// public PageDto<EntrysDataDto> getAll(
|
||||||
@RequestParam(name = "departmentId", defaultValue = "0") Long departmentId,
|
// @RequestParam(name = "departmentId", defaultValue = "0") Long departmentId,
|
||||||
@RequestParam(name = "page", defaultValue = "0") int page,
|
// @RequestParam(name = "page", defaultValue = "0") int page,
|
||||||
@RequestParam(name = "size", defaultValue = Constants.DEFAULT_PAGE_SIZE) int size) {
|
// @RequestParam(name = "size", defaultValue = Constants.DEFAULT_PAGE_SIZE) int size) {
|
||||||
return PageDtoMapper.toDto(entrysDataService.getAll(departmentId, page, size), this::toDto);
|
// return PageDtoMapper.toDto(entrysDataService.getAll(departmentId, page, size), this::toDto);
|
||||||
}
|
// }
|
||||||
|
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public EntrysDataDto get(@PathVariable(name = "id") Long id) {
|
public EntrysDataDto get(@PathVariable(name = "id") Long id) {
|
||||||
|
@ -29,6 +29,10 @@
|
|||||||
<a class="nav-link" href="/news" th:classappend="${activeLink.startsWith('/news') ? 'active' : ''}">
|
<a class="nav-link" href="/news" th:classappend="${activeLink.startsWith('/news') ? 'active' : ''}">
|
||||||
Новости
|
Новости
|
||||||
</a>
|
</a>
|
||||||
|
<a class="nav-link" href="/directions"
|
||||||
|
th:classappend="${activeLink.startsWith('/news') ? 'active' : ''}">
|
||||||
|
Направления
|
||||||
|
</a>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="navbar-nav">
|
<ul class="navbar-nav">
|
||||||
</ul>
|
</ul>
|
||||||
|
61
src/main/resources/templates/directions.html
Normal file
61
src/main/resources/templates/directions.html
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{default}">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Новости</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<main class="text-center" layout:fragment="content">
|
||||||
|
<label class="mainSt d-flex justify-content-center" for="direction">
|
||||||
|
Направление</label>
|
||||||
|
<div>
|
||||||
|
<a href="/directions/edit/(page=${page})" class="btn btn-primary">Добавить направление</a>
|
||||||
|
</div>
|
||||||
|
<table class="table">
|
||||||
|
<caption></caption>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col" class="w-10">ID</th>
|
||||||
|
<th scope="col" class="w-auto">Код</th>
|
||||||
|
<th scope="col" class="w-10">Направление</th>
|
||||||
|
<th scope="col" class="w-10">Кафедра</th>
|
||||||
|
<th scope="col" class="w-10">Предметы ЕГЭ</th>
|
||||||
|
<th scope="col" class="w-10"></th>
|
||||||
|
<th scope="col" class="w-10"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr th:each="direction : ${items}">
|
||||||
|
<th scope="row" th:text="${direction.id}"></th>
|
||||||
|
<td th:text="${direction.code}"></td>
|
||||||
|
<td th:text="${direction.name}"></td>
|
||||||
|
<td th:text="${direction.departmentName}"></td>
|
||||||
|
<td th:text="${direction.things}"></td>
|
||||||
|
<td>
|
||||||
|
<form th:action="@{/directions/edit/{id}(id=${direction.id})}" method="get">
|
||||||
|
<input type="hidden" th:name="page" th:value="${page}">
|
||||||
|
<a type="submit" class="btn btn-link button-link">
|
||||||
|
<i class="fa fa-edit"></i>
|
||||||
|
</a>
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<form th:action="@{/directions/delete/{id}(id=${direction.id})}" method="post">
|
||||||
|
<input type="hidden" th:name="page" th:value="${page}">
|
||||||
|
<a type="submit" class="btn btn-link button-link" onclick="return confirm('Вы уверены?')">
|
||||||
|
<i class="fa fa-trash"></i>
|
||||||
|
</a>
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<th:block th:replace="~{ pagination :: pagination (
|
||||||
|
url=${'directions'},
|
||||||
|
totalPages=${totalPages},
|
||||||
|
currentPage=${currentPage}) }" />
|
||||||
|
</main>
|
||||||
|
</body>
|
@ -23,15 +23,15 @@
|
|||||||
<span class="rectNewsText">
|
<span class="rectNewsText">
|
||||||
<b scope="row" th:text="${newItem.description}"></b>
|
<b scope="row" th:text="${newItem.description}"></b>
|
||||||
<form th:action="@{/news/edit/{id}(id=${newItem.id})}" method="get">
|
<form th:action="@{/news/edit/{id}(id=${newItem.id})}" method="get">
|
||||||
<button type="submit" class="btn btn-link button-link">
|
<a type="submit" class="btn btn-link button-link">
|
||||||
<i class="fa fa-edit"></i>
|
<i class="fa fa-edit"></i>
|
||||||
</button>
|
</a>
|
||||||
</form>
|
</form>
|
||||||
<form th:action="@{/news/delete/{id}(id=${newItem.id})}" method="post">
|
<form th:action="@{/news/delete/{id}(id=${newItem.id})}" method="post">
|
||||||
<button type="submit" class="btn btn-link button-link"
|
<a type="submit" class="btn btn-link button-link"
|
||||||
onclick="return confirm('Вы уверены?')">
|
onclick="return confirm('Вы уверены?')">
|
||||||
<i class="fa fa-trash"></i>
|
<i class="fa fa-trash"></i>
|
||||||
</button>
|
</a>
|
||||||
</form>
|
</form>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
51
src/main/resources/templates/pagination.html
Normal file
51
src/main/resources/templates/pagination.html
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org">
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<th:block th:fragment="pagination (url, totalPages, currentPage)">
|
||||||
|
<nav th:if="${totalPages > 1}" th:with="
|
||||||
|
maxPage=2,
|
||||||
|
currentPage=${currentPage + 1}">
|
||||||
|
<ul class="pagination justify-content-center"
|
||||||
|
th:with="
|
||||||
|
seqFrom=${currentPage - maxPage < 1 ? 1 : currentPage - maxPage},
|
||||||
|
seqTo=${currentPage + maxPage > totalPages ? totalPages : currentPage + maxPage}">
|
||||||
|
<th:block th:if="${currentPage > maxPage + 1}">
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link" aria-label="Previous" th:href="@{/{url}?page=0(url=${url})}">
|
||||||
|
<span aria-hidden="true">«</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="page-item disabled">
|
||||||
|
<span class="page-link" aria-label="Previous">
|
||||||
|
<span aria-hidden="true">…</span>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
<li class="page-item" th:each="page : ${#numbers.sequence(seqFrom, seqTo)}"
|
||||||
|
th:classappend="${page == currentPage} ? 'active' : ''">
|
||||||
|
<a class=" page-link" th:href="@{/{url}?page={page}(url=${url},page=${page - 1})}">
|
||||||
|
<span th:text="${page}" />
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<th:block th:if="${currentPage < totalPages - maxPage}">
|
||||||
|
<li class="page-item disabled">
|
||||||
|
<span class="page-link" aria-label="Previous">
|
||||||
|
<span aria-hidden="true">…</span>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link" aria-label="Next"
|
||||||
|
th:href="@{/{url}?page={page}(url=${url},page=${totalPages - 1})}">
|
||||||
|
<span aria-hidden="true">»</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</th:block>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user