标签: derby

Spring JPA 无法使用 derby 嵌入式数据库创建表

我正在开发一个 Rest API,用于从数据库中获取所有主题。我将 Spring Boot 与 Derby 结合使用,并使用 JPA 与 derby 进行交互。当 Spring Boot 应用程序启动时,JPA 无法在 derby 上创建表并抛出错误。

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "create table topic (id bigint not null, desc varchar(255), name varchar(255), primary key (id))" via JDBC Statement
    at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) ~[hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlString(SchemaCreatorImpl.java:440) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlStrings(SchemaCreatorImpl.java:424) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:315) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:166) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:135) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:121) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:155) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:310) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:467) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:939) [hibernate-core-5.3.9.Final.jar:5.3.9.Final]
    at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:57) [spring-orm-5.1.6.RELEASE.jar:5.1.6.RELEASE]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) …
Run Code Online (Sandbox Code Playgroud)

derby spring-data-jpa spring-boot

1
推荐指数
1
解决办法
841
查看次数

无法为 Apache Derby 加载 JDBC 驱动程序

当我尝试使用 hibernate 将我的 java 应用程序连接到 Apache Derby 时出现此错误。

Caused by: java.lang.UnsupportedClassVersionError: org/apache/derby/jdbc/EmbeddedDriver has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0

我到处都读到这可能是因为缺少 jars,但我什至在 lib 文件夹中添加了以下 jars:

derby-10.15.2.0.jar
derbyclient-10.15.2.0.jar
derbynet-10.15.2.0.jar
derbyshared-10.15.2.0.jar
derbytools-10.15.2.0.jar
Run Code Online (Sandbox Code Playgroud)

下面是我的数据源连接变量:

database.url=jdbc:derby://opt/derby/sampleDerbyDB;create=true
database.driver=org.apache.derby.jdbc.ClientDriver (Also tried using EmbeddedDriver but same error)
hibernate.dialect=org.hibernate.dialect.DerbyDialect
Run Code Online (Sandbox Code Playgroud)

你能告诉我我做错了什么吗?我想继续使用相同的 jre/java 版本并且不想升级。

java database hibernate jdbc derby

1
推荐指数
1
解决办法
271
查看次数

是否有可能访问带有问号的 sql 表?

我有 3 个 sql 表客户、员工和经理。我想动态访问我的表。我有这样的声明,

"update customer set AMOUNT where ID= ?"
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我只能访问客户。我需要访问所有表以进行不同的操作。可以这样写吗

"update ? set AMOUNT where ID=?"
Run Code Online (Sandbox Code Playgroud)

或者我可以做什么来访问例如不同班级的员工。

sql jdbc derby

1
推荐指数
1
解决办法
137
查看次数

如何修复 org.hibernate.AnnotationException:没有为实体指定标识符

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: com.javacourse.project.hibernateAndJPA.Entities.City
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) ~[spring-beans-5.3.3.jar:5.3.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:609) ~[spring-beans-5.3.3.jar:5.3.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[spring-beans-5.3.3.jar:5.3.3]
Run Code Online (Sandbox Code Playgroud)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: com.javacourse.project.hibernateAndJPA.Entities.City
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) ~[spring-beans-5.3.3.jar:5.3.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:609) ~[spring-beans-5.3.3.jar:5.3.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[spring-beans-5.3.3.jar:5.3.3]
Run Code Online (Sandbox Code Playgroud)

应用特性:

    spring.datasource.url=jdbc:derby://localhost:1527/sample
    spring.datasource.username=user
    spring.datasource.password=1234
    spring.datasource.initialize=false
    spring.datasource.driver-class-name=org.apache.derby.jdbc.ClientDriver …
Run Code Online (Sandbox Code Playgroud)

hibernate derby maven spring-boot

1
推荐指数
1
解决办法
7110
查看次数

运行JUnit测试的错误(JPA,Derby,Hibernate,Guice)

我正在尝试为我的DAO对象创建一个JUnit测试.JUnit直接从Netbeans运行.我对其中的几种技术都很陌生,因此我有一段时间可以追踪我的错误来自何处.我的代码和我看到的相应错误是:

2011年7月22日下午7:09:09 com.sun.enterprise.v3.server.CommonClassLoaderServiceImpl findDerbyClient INFO:找不到javadb客户端jar文件,默认情况下derby jdbc驱动程序不可用.FATAL [DatasourceConnectionProvider] - 无法找到数据源:Waylon org.omg.CORBA.COMM_FAILURE:FINE:IOP00410001:连接失败:socketType:IIOP_CLEAR_TEXT; hostname:localhost; port:3700 vmcid:OMG次代码:1完成:没有javax.naming.NamingException:在SerialContext中查找'Waylon'失败[myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory ,java.naming.factory.url.pkgs = com.sun.enterprise.naming,java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [root异常是javax.naming .NamingException:无法为SerialContext获取SerialContextProvider [myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory,java.naming.factory.url.pkgs = com.sun.enterprise.naming ,java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [根异常是org.omg.CORBA.COMM_FAILURE:FINE:IOP00410001:连接失败:socketType:IIOP_CLEAR_TEXT; hostname:localhost; 端口:3700 vmcid:OMG次要代码:1完成:否]]在sun.sref.enterEv. .reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)在com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)在java.lang.reflect.Constructor.newInstance(Constructor.java:513 )在com.sun.corba的com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)的javax.naming.InitialContext.lookup(InitialContext.java:392)中. ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)位于com.sun.corba.ee.spi.orbutil的org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52). org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(Connec)中的logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)tionProviderFactory.java:124)在com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access $ 400(WrapperGenerator.java:107)在org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:29)在com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator $ 2.invoke(WrapperGenerator.java:511)位于com.sun.corba.ee的org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)位于org.hibernate.cfg的$ Proxy40.connectFailure(未知来源)的org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)中的.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99).位于org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)的com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.(SocketOrChannelConnectionImpl.java:257)中的Configuration.buildSessionFactory(Configuration.java:1292)at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.(SocketOrChannelConnec tionImpl.java:270)at com.unernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)at com.sun位于com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl的org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)上的.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223) .request(CorbaClientDelegateImpl.java:228)位于org.omg.CORBA的com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)的javax.persistence.Persistence.createEntityManagerFactory(未知来源) .portable.ObjectImpl._is_a(ObjectImpl.java:112)位于com.google.inject.persist的org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)的javax.persistence.Persistence.createEntityManagerFactory(未知来源) .jpa.JpaPersistService.在com.sun.enterprise.naming.impl.SerialContext $ ProviderCacheKey.getNameService(SerialContext.java:1241)的com.sun.label.LabelDAOIJTest.setUpClass(LabelDAOIJTest.java:36)的com.sun开始(JpaPersistService.java:94) .enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:411)在com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:347)在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at com.sun.enterprise.naming.impl.SerialContext.lookup (SerialContext.java:455)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)在javax.naming.InitialContext.lookup(InitialContext.java:392)在java.lang.reflect.Method.invoke(方法. java:597)org.juni上的org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)位于org.junit.internal.runners.model.ReflectiveCallable.run的org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)中的t.runners.model.FrameworkMethod $ 1.runReflectiveCall(FrameworkMethod.java:44)(ReflectiveCallable)的.java:15)在在org.junit.runners.model.FrameworkMethod org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:29)在org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62).在org.hibernate的org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)的org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)中调用了爆炸性的(FrameworkMethod.java:41) .cfg.Configuration.buildSessionFactory(Configuration.java:1292)在org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)在org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859 )org.junit.runners.ParentRunner.run(父 Runner.java:303)org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)位于org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence)的junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) .java:126)org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)at org.apache.tools.ant的javax.persistence.Persistence.createEntityManagerFactory(未知来源) .taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)位于org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906)的javax.persistence.Persistence.createEntityManagerFactory (未知来源)at com.google.inject.persist.jpa.JpaPersistService.start(JpaPersistService.java:94)at waylon.label.LabelDAOIJTest.setUpClass(LabelDAOIJTest.java:36)引起:javax.naming.NamingException:Unable获取SerialContext的SerialContextProvider [myEnv = {java.naming.factory.initial = …

java unit-testing jpa derby guice

0
推荐指数
1
解决办法
3900
查看次数

Apache Derby:SQLSyntaxErrorException

请查看以下代码

package normal;

//This class if s for checking the database. If the database doesn't exists, this class will create one

import java.sql.*;

public class DatabaseCheck
{
    private Connection con;

    public DatabaseCheck()
    {
        createConnection();
        try
        {
            Statement st = con.createStatement();
            st.executeQuery("select * from PhoneData");
        }
        catch(Exception e)
        {
            System.out.println(e.getLocalizedMessage());

            if(e.getLocalizedMessage().equals("Schema 'SA' does not exist"))
            {
                try
                {
                PreparedStatement ps = con.prepareStatement("create table PhoneData(ids int identity constraint pkId primary key,names varchar(20),mobileNumber1 varchar(20),mobileNumber2 varchar(20),landNumber1 varchar(20),landNumber2 varchar(20),address varchar(100),category varchar(20),nickName varchar(20),email varchar(20),middleName varchar(20),lastName varchar(20),city …
Run Code Online (Sandbox Code Playgroud)

java sql jdbc derby

0
推荐指数
1
解决办法
6276
查看次数

Showing 1 million rows in a browser

Our Utilty has one single table, and it has 10 million to 50 million rows, There may be a case we need to show 50 million rows in a single page html client page, To show the rows in browser we use jQuery in UI.

To retrieve rows we use Hibernate and use Spring for MVC. I am looking for best practice in retrieving the rows and showing in UI. Should I retrieve a bulk of thousands rows or two …

database design-patterns hibernate derby web

0
推荐指数
1
解决办法
2095
查看次数

如何连接WebLogic附带的Derby?

我正在尝试添加WebLogic中包含的Derby作为数据源.我正在运行WebLogic 10.3.5.我没有在setDomainEnv.cmd中看到Derby标志,所以我将客户端驱动程序添加到CLASSPATH:

set CLASSPATH=%PRE_CLASSPATH%;%WEBLOGIC_CLASSPATH%;%POST_CLASSPATH%;%WLP_POST_CLASSPATH%;%WL_HOME%\common\derby\lib\derbyclient.jar
Run Code Online (Sandbox Code Playgroud)

在setDomainEnv.cmd中.现在,当我尝试在WebLogic中激活我的数据源时,我得到:

An error occurred during activation of changes, please see the log for
details. Message icon - Error weblogic.application.ModuleException: 
Message icon - Error java.net.ConnectException : Error connecting to
server localhost on port 1527 with message Connection refused:
connect.
Run Code Online (Sandbox Code Playgroud)

我还需要做些什么才能让它发挥作用?

java weblogic derby connectexception

0
推荐指数
1
解决办法
4810
查看次数

Hibernate异常:无法准备语句

我试图在我的数据库中插入一条记录,该记录由Hibernate(Apache Derby)处理.我有一个使用hbm.xml映射的User对象类,并且数据库连接正常,但是返回以下错误:

ERROR: Syntax error: Encountered "USER" at line 1, column 13. Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not prepare statement
Run Code Online (Sandbox Code Playgroud)

我在日志中收到以下内容:

Dec 07, 2013 4:56:12 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
Dec 07, 2013 4:56:12 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.2.8.Final}
Dec 07, 2013 4:56:12 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Dec 07, 2013 4:56:12 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Dec 07, 2013 4:56:13 PM …
Run Code Online (Sandbox Code Playgroud)

java sql hibernate derby hibernate-mapping

0
推荐指数
1
解决办法
2万
查看次数

'gomobile.user u'不能是FROM子句的第一个声明

我正在尝试usergomobileDerbyDB 的模式中查询我的表的所有数据.

我已成功建立与数据库的连接并创建了一个JPA实体,其所有列都对应于数据库表.

@Entity
@Table(name = "user", schema = "gomobile")
public class User implements Serializable {
    private static final long serialVersionUID = 1L;

    // all columns

    public static List<User> getAll() {
        String queryString = "SELECT u FROM gomobile.user u";
        EntityManager em = Persistence.createEntityManagerFactory("Eclipselink").createEntityManager();
        return em.createQuery(queryString, User.class).getResultList();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是stracktrace:

Exception in thread "main" java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
Exception Description: Problem compiling [SELECT u FROM gomobile.user as u]. 
[14, 41] 'gomobile.user …
Run Code Online (Sandbox Code Playgroud)

java jpa derby eclipselink

0
推荐指数
1
解决办法
3128
查看次数

Apache Derby:java.sql.SQLSyntaxErrorException

我刚刚开始学习SQL,并且正在尝试创建一个表,并在CSV-file 上填充一些数据.

以下是尝试执行此操作的应用程序:

public sqlThingy() throws Exception {

    File spritesheetsCreate = new File("sql/spritesheetsCreate.sql");
    File spritesheetsData = new File("sql/spritesheetsData.sql");

    Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();

    Connection conn = DriverManager
            .getConnection("jdbc:derby:TESTNAME;create=true");

    //CREATE TABLE
    try (PreparedStatement statement = conn
            .prepareStatement(readFile(spritesheetsCreate))) {
        statement.execute();
    }


    //FILL TABLE WITH DATA
    try (PreparedStatement ps = conn.prepareStatement(readFile(spritesheetsData))) {
        try (CSVReader rdr = new CSVReader(new FileReader(new File(
                "res/spritesheets.csv")), ',', '"', 1)) {
            for (String[] row : rdr.readAll()) {
                ps.setString(1, row[0]);
                ps.setString(2, row[1]);
                ps.setInt(3, Integer.valueOf(row[2]));
                ps.execute();
            }
        }
    }
}


private …
Run Code Online (Sandbox Code Playgroud)

java sql csv derby

0
推荐指数
1
解决办法
1869
查看次数