首页 \ 问答 \ 不导出Hibernate + HSQLDB架构(Hibernate + HSQLDB schema is not exported)

不导出Hibernate + HSQLDB架构(Hibernate + HSQLDB schema is not exported)

我有基于Spring-MVC的Web应用程序。 我已经将它与Hibernate 3.6.0集成在一起。 当我试图保存名为User的实体时,我得到:

org.hsqldb.HsqlException:user缺少未找到的权限或对象:USER

我发现数据库中没有表USER但是为什么? 弹簧ServletDispatcher的配置文件片段:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="org.hsqldb.jdbcDriver"></property>
        <property name="url" value="jdbc:hsqldb:file: db/autostop; shutdown=true"></property>
        <property name="username" value="SA"></property>
        <property name="password" value=""></property>
    </bean>
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="packagesToScan" value="prv.bladositto.autostop.persistance.hibernate.model"/>
        <property name="hibernateProperties">
            <props>
                <prop key="dialect">org.hibernate.dialect.HSQLDialect</prop>
                <prop key="show_sql">true</prop>
                <prop key="hbm2ddl.auto">create-drop</prop>
            </props>
        </property>
    </bean>

根异常堆栈跟踪:

org.hsqldb.HsqlException: user lacks privilege or object not found: USER
    org.hsqldb.error.Error.error(Unknown Source)
    org.hsqldb.error.Error.error(Unknown Source)
    org.hsqldb.SchemaManager.getTable(Unknown Source)
    org.hsqldb.ParserDQL.readTableName(Unknown Source)
    org.hsqldb.ParserDQL.readSimpleRangeVariable(Unknown Source)
    org.hsqldb.ParserDML.compileInsertStatement(Unknown Source)
    org.hsqldb.ParserCommand.compilePart(Unknown Source)
    org.hsqldb.ParserCommand.compileStatement(Unknown Source)
    org.hsqldb.Session.compileStatement(Unknown Source)
    org.hsqldb.StatementManager.compile(Unknown Source)
    org.hsqldb.Session.execute(Unknown Source)
    org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
    org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
    org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:524)
    org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:116)
    org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.prepare(IdentityGenerator.java:90)
    org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:54)
    org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2327)
    org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2834)
    org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
    org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
    org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:320)
    org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
    org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713)
    org.hibernate.impl.SessionImpl.save(SessionImpl.java:701)
    org.hibernate.impl.SessionImpl.save(SessionImpl.java:697)
    org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:686)
    org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:1)
    org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
    org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:683)
    prv.bladositto.autostop.persistance.hibernate.UserServiceImpl.save(UserServiceImpl.java:23)
    prv.bladositto.autostop.controllers.UsersController.createUser(UsersController.java:40)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:601)
    org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:800)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:757)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:74)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

编辑

我正在将我的应用程序部署到JBoss AS 7.它位于Ubuntu上的/usr/share/JBoss..7/。 也许这很重要。


I have web application based on Spring-MVC. I've integrated it with Hibernate 3.6.0. When I'm trying to save entity named User I get :

org.hsqldb.HsqlException: user lacks privilege or object not found: USER

I figured out that there is no table USER in the database but why? My configuration file's fragment for springs ServletDispatcher:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="org.hsqldb.jdbcDriver"></property>
        <property name="url" value="jdbc:hsqldb:file: db/autostop; shutdown=true"></property>
        <property name="username" value="SA"></property>
        <property name="password" value=""></property>
    </bean>
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="packagesToScan" value="prv.bladositto.autostop.persistance.hibernate.model"/>
        <property name="hibernateProperties">
            <props>
                <prop key="dialect">org.hibernate.dialect.HSQLDialect</prop>
                <prop key="show_sql">true</prop>
                <prop key="hbm2ddl.auto">create-drop</prop>
            </props>
        </property>
    </bean>

Root exception stack trace:

org.hsqldb.HsqlException: user lacks privilege or object not found: USER
    org.hsqldb.error.Error.error(Unknown Source)
    org.hsqldb.error.Error.error(Unknown Source)
    org.hsqldb.SchemaManager.getTable(Unknown Source)
    org.hsqldb.ParserDQL.readTableName(Unknown Source)
    org.hsqldb.ParserDQL.readSimpleRangeVariable(Unknown Source)
    org.hsqldb.ParserDML.compileInsertStatement(Unknown Source)
    org.hsqldb.ParserCommand.compilePart(Unknown Source)
    org.hsqldb.ParserCommand.compileStatement(Unknown Source)
    org.hsqldb.Session.compileStatement(Unknown Source)
    org.hsqldb.StatementManager.compile(Unknown Source)
    org.hsqldb.Session.execute(Unknown Source)
    org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
    org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
    org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:524)
    org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:116)
    org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.prepare(IdentityGenerator.java:90)
    org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:54)
    org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2327)
    org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2834)
    org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
    org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
    org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:320)
    org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
    org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713)
    org.hibernate.impl.SessionImpl.save(SessionImpl.java:701)
    org.hibernate.impl.SessionImpl.save(SessionImpl.java:697)
    org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:686)
    org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:1)
    org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
    org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:683)
    prv.bladositto.autostop.persistance.hibernate.UserServiceImpl.save(UserServiceImpl.java:23)
    prv.bladositto.autostop.controllers.UsersController.createUser(UsersController.java:40)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:601)
    org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:800)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:757)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:74)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

EDIT

I'm deploying my application to JBoss AS 7. It's located on /usr/share/JBoss..7/ on Ubuntu. Maybe it's important.


原文:https://stackoverflow.com/questions/12073563
更新时间:2023-09-15 10:09

最满意答案

Dice是一个来自tuple的派生类,它是一个长度为2的tuple

你可以看到例如

>>> print yaml.dump(Dice(3,6))

!!python/object/new:__main__.Dice
- !!python/tuple [3, 6]

所以在你的上下文中,它运行良好,它确实是长度为2的元组,因此可以解析所使用的字符串。


Dice is a derived class from tuple, and it is a tuple of length 2.

You can see for example that

>>> print yaml.dump(Dice(3,6))

!!python/object/new:__main__.Dice
- !!python/tuple [3, 6]

So in your context, it works well, it is indeed a tuple of length 2 and so can resolve the string used.

相关问答

更多
  • a = "123ab5" b = ''.join(map(lambda x: str(int(x) + 1) if x.isdigit() else x, a)) 要么: b = ''.join(str(int(x) + 1) if x.isdigit() else x for x in a) 要么: import string b = a.translate(string.maketrans('0123456789', '1234567890')) 在任何这些情况下: # b == "234ab6 ...
  • 根据我的机器,连接(显着)更快。 但是在风格上,如果表现并不重要,我愿意付出替代代价。 那么,如果我需要格式化,就不需要再问这个问题,除了使用插值/模板之外,别无选择。 >>> import timeit >>> def so_q_sub(n): ... return "%s%s/%d" % (DOMAIN, QUESTIONS, n) ... >>> so_q_sub(1000) 'http://stackoverflow.com/questions/1000' >>> def so_q_cat(n): ...
  • 那些看起来不像你试图翻译的正则表达式,它们看起来更像unix shell globs。 Python有一个模块用于执行此操作。 它不知道你使用的“+”语法,但我的shell也不知道,我认为语法是非标准的。 >>> import fnmatch >>> fnmatch.fnmatch("fooabcdef", "*abcde?") True >>> help(fnmatch.fnmatch) Help on function fnmatch in module fnmatch: fnmatch(name, ...
  • my $t =~ s/^\.\///; 你需要逃避点和斜线。 替换是s/match/replace/ 。 如果你擦除,那就是s/match// 。 你想匹配“以点和斜线开头”,那就是^\.\/ 。 my $t =~ s/^\.\///; You need to escape the dot and the slash. The substitution is s/match/replace/. If you erase, it's s/match//. You want to match "starts ...
  • 如果没有进行字符串替换,Python的string.replace会返回什么? 它返回原始字符串。 即使没有改变,Python的file.open(f,'w')是否总是触摸文件? 不仅仅是触摸文件,它会销毁用来包含的任何内容。 因此,如果文件需要用replaText if replacedText != content重新编写,并且仅在写入模式下打开文件(如果是这种情况): count = 0 for match in all_files('*.html', '.'): # all_files ...
  • mystring.replace('%', '%%')可能适合您的需求。 %%逃脱% 。 mystring.replace('%', '%%') might suit your needs. %% escapes a %.
  • 你应该使用replace而不是sed或regex : #! /bin/bash old=$(grep -aPo '/PageLabels\K[^"]*>>]>>' a.pdf) ## Get Old /PageLabels code new=$(/tmp/get_correct_code.sh ) ## Get New /PageLabels code cat a.pdf |replace "$old" "$new" > new_a.pdf 从手册页: DESCRIPTION The re ...
  • Dice是一个来自tuple的派生类,它是一个长度为2的tuple 。 你可以看到例如 >>> print yaml.dump(Dice(3,6)) !!python/object/new:__main__.Dice - !!python/tuple [3, 6] 所以在你的上下文中,它运行良好,它确实是长度为2的元组,因此可以解析所使用的字符串。 Dice is a derived class from tuple, and it is a tuple of length 2. You can see ...
  • 让MySQLdb完成整个参数替换。 在这种情况下,期望的参数values应该是序列(1,2,3) ,而不是字符串'1,2,3' : query = """SELECT id, name, image_id FROM users WHERE id IN %s """ values = uids results = dbc.getAll(query, [values]) Let MySQLdb do the entire argumen ...
  • 正则表达式的许多性能开销来自编译正则表达式。 您应该将正则表达式的编译移出循环。 这应该会给你一个相当大的改进: pattern1 = re.compile('[^0-9a-zA-Z]+') pattern2 = re.compile('\s+') for k in range(len(titles)): #remove all non-alphanumeric characters s = re.sub(pattern1,' ',titles[k]) #remove extra ...

相关文章

更多

最新问答

更多
  • 如何检索Ember.js模型的所有属性(How to retrieve all properties of an Ember.js model)
  • maven中snapshot快照库和release发布库的区别和作用
  • arraylist中的搜索元素(Search element in arraylist)
  • 从mysli_fetch_array中获取选定的值并输出(Get selected value from mysli_fetch_array and output)
  • Windows Phone上的可用共享扩展(Available Share Extensions on Windows Phone)
  • 如何在命令提示符下将日期设置为文件名(How to set file name as date in command prompt)
  • 如何在Laravel 5.2中使用paginate与关系?(How to use paginate with relationships in Laravel 5.2?)
  • 从iframe访问父页面的id元素(accessing id element of parent page from iframe)
  • linux的常用命令干什么用的
  • Feign Client + Eureka POST请求正文(Feign Client + Eureka POST request body)
  • 怎么删除禁用RHEL/CentOS 7上不需要的服务
  • 为什么Gradle运行测试两次?(Why does Gradle run tests twice?)
  • 由于有四个新控制器,Auth刀片是否有任何变化?(Are there any changes in Auth blades due to four new controllers?)
  • 如何交换返回集中的行?(How to swap rows in a return set?)
  • 在android中的活动之间切换?(Switching between activities in android?)
  • Perforce:如何从Depot到Workspace丢失文件?(Perforce: how to get missing file from Depot to Workspace?)
  • Webform页面避免运行服务器(Webform page avoiding runat server)
  • 在ios 7中的UITableView部分周围绘制边界线(draw borderline around UITableView section in ios 7)
  • 内存布局破解(memory layout hack)
  • 使用Boost.Spirit Qi和Lex时的空白队长(Whitespace skipper when using Boost.Spirit Qi and Lex)
  • 我们可以有一个调度程序,你可以异步添加东西,但会同步按顺序执行吗?(Can we have a dispatcher that you can add things todo asynchronously but will be executed in that order synchronously?)
  • “FROM a,b”和“FROM a FULL OUTER JOIN b”之间有什么区别?(What is the difference between “FROM a, b” and “FROM a FULL OUTER JOIN b”?)
  • Java中的不可变类(Immutable class in Java)
  • bat批处理文件结果导出到txt
  • WordPress发布查询(WordPress post query)
  • 如何在关系数据库中存储与IPv6兼容的地址(How to store IPv6-compatible address in a relational database)
  • 是否可以检查对象值的条件并返回密钥?(Is it possible to check the condition of a value of an object and JUST return the key?)
  • 德州新起点计算机培训学校主要课程有什么?
  • GEP分段错误LLVM C ++ API(GEP segmentation fault LLVM C++ API)
  • “latin1_german1_ci”整理来自哪里?(Where is “latin1_german1_ci” collation coming from?)