- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先:我可能只是犯了一个愚蠢的错误。
我正在将我的一个旧项目从 Spring XML 转换为 Javaconfig。该数据库是内存中的 HSQLDB 数据库。不幸的是,它给了我这个错误:
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL via JDBC Statement
(stacktrace)
Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: PUBLIC.T_AUTHORITY
(stacktrace)
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: PUBLIC.T_AUTHORITY
下面是我的 PersistenceConfig.java 和我的 SQL 脚本:
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = "org.jason.application.repository.jpa",
entityManagerFactoryRef = "entityManagerFactoryBean")
public class ApplicationPersistenceConfig {
@Bean
public JpaTransactionManager transactionManager(EntityManagerFactory emf) {
JpaTransactionManager jpaTransactionManager = new JpaTransactionManager();
jpaTransactionManager.setEntityManagerFactory(emf);
return jpaTransactionManager;
}
@Bean
public LocalContainerEntityManagerFactoryBean getEntityManagerFactoryBean(DataSource dataSource) {
LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();
entityManagerFactory.setPersistenceUnitName("default");
entityManagerFactory.setDataSource(dataSource);
entityManagerFactory.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
entityManagerFactory.setJpaDialect(new HibernateJpaDialect());
entityManagerFactory.setPackagesToScan("org.jason.application.repository.model");
entityManagerFactory.setJpaPropertyMap(hibernateJpaProperties());
return entityManagerFactory;
}
@Bean
public DataSource getDataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("org.hsqldb.jdbcDriver");
dataSource.setUrl("jdbc:hsqldb:mem:testdb");
dataSource.setUsername("sa");
dataSource.setPassword("");
return dataSource;
}
private Map<String, ?> hibernateJpaProperties() {
HashMap<String, String> properties = new HashMap<>();
properties.put("hibernate.hbm2ddl.import_files", "insert-data.sql");
properties.put("hibernate.hbm2ddl.auto", "create-drop");
properties.put("hibernate.show_sql", "false");
properties.put("hibernate.format_sql", "false");
properties.put("hibernate.ejb.naming_strategy", "org.hibernate.cfg.ImprovedNamingStrategy");
properties.put("hibernate.dialect", "org.hibernate.dialect.HSQLDialect");
properties.put("hibernate.c3p0.min_size", "2");
properties.put("hibernate.c3p0.max_size", "5");
properties.put("hibernate.c3p0.timeout", "300"); // 5mins
return properties;
}
}
和
CREATE TABLE PUBLIC.T_USER (
USERID INTEGER NOT NULL PRIMARY KEY,
USERNAME VARCHAR_IGNORECASE(50) NOT NULL,
PASSWORD VARCHAR_IGNORECASE(50) NOT NULL,
ENABLED BOOLEAN NOT NULL,
CREATE UNIQUE INDEX IX_USERNAME ON T_USER(USERNAME);
CREATE TABLE PUBLIC.T_AUTHORITY (
AUTHORITYID INTEGER NOT NULL PRIMARY KEY,
USERID INTEGER NOT NULL,
-- USERNAME VARCHAR_IGNORECASE(50) NOT NULL,
AUTHORITY VARCHAR_IGNORECASE(50) NOT NULL,
CONSTRAINT FK_AUTHORITIES_USERS FOREIGN KEY(USERID) REFERENCES USERS(USERID));
CREATE UNIQUE INDEX IX_AUTH_USERNAME ON T_AUTHORITY (USERID,AUTHORITY);
INSERT INTO T_USER(USERNAME, PASSWORD, ENABLED) VALUES (1, 'jason','password', true);
INSERT INTO T_AUTHORITY(AUTHORITYID, USERID, AUTHORITY) VALUES (1, 1, "ROLE_ADMIN");
谁能看到我犯了什么愚蠢的错误?
杰森
最佳答案
就像我想的那样,这是一个愚蠢的错误。
以下两个 hibernate 属性彼此不兼容:
properties.put("hibernate.hbm2ddl.import_files", "insert-data.sql");
properties.put("hibernate.hbm2ddl.auto", "create-drop");
两者都有创建模式的作用。
关于java - .Hsql异常 : user lacks privilege or object not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41921793/
在MySQL中,执行FLUSH TABLES, PRIVILEGES;和执行FLUSH TABLES;再执行FLUSH PRIVILEGES;效果一样吗?此外,这是否适用于任何刷新选项(FLUSH L
我和一名团队成员都被难住了,因为向远程用户授予权限的命令失败了,但没有错误。使用 CREATE USER 已成功将新用户添加到 mysql.user,但 GRANT PRIVILEGES 后跟 FLU
完全信任是否与以管理员身份运行相同?我读过一些说明“要使其正常工作,应用程序必须是完全信任的应用程序”的内容。这与您必须具有管理员权限才能运行应用程序相同吗?如果不是,有什么区别?如何判断应用程序是否
你能告诉我如何使用 psql 控制台检查函数的权限,但又不会被源代码和说明淹没吗(比如使用\df+ 时)。 最佳答案 对于更简单的查询,使用: SELECT proacl FROM pg_proc W
考虑以下代码: function Dog() { this.foo = function() {}; this.walk = function() { if(c
我使用的是 Windows 8.1 64 位计算机。我安装了 XAMPP 5.6.3。直到昨天一切都工作正常。我进入 phpMyAdmin 创建一个新数据库。当我进入数据库选项卡时;在“创建新数据库”
当我授予“ALL PRIVILEGES”时会授予哪些权限? -> ALL [PRIVILEGES] Grant all privileges at specified access level exc
大约在0.6版,privileged被引入docker。 使用该参数,container内的root拥有真正的root权限。 否则,container内的root只是外部的一个普通用户权限。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我对Docker技术有点陌生,但是,我想在整个基础架构中部署几个BGP BIRD容器。我想使用Dockerfile构建自动化容器创建,但是,如果不给容器“特权”模式,就无法在Docker中运行BIRD
我尝试使用此 SQL 代码来启用数据库创建 使用授予选项将 *.* 上的所有权限授予 'myuser'@'%'; 但它不起作用。 我已在Windows Azure 托管中创建了我的phpMyadmin
我发出以下命令以允许从任何主机进行 root 登录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxx' WITH GRANT
如何在不添加 XP 主题的情况下添加 UAC list ? 我尝试了这个 list :
有没有办法将docker环境分配给多个USB设备,比如/dev/video0, /dev/video4 and /dev/ttyUSB4? 如果是单个设备,则可能是 docker run -t -i
我正在经历一种与 DEFAULT PRIVILEGES 相关的奇怪且(对我而言) 无法解释的行为。一旦在数据库范围内授予默认权限,似乎就不能仅针对特定模式撤销默认权限。我目前正在 CentOS 上使用
我试图向远程 MySQL 用户授予 ALTER TABLE 权限,但是当我执行查询时,它会因错误而中断:“ALTER 命令被拒绝给用户 'remotetest'@'*****' 对于表'RemoteT
我希望使用 pymysql 模块根据用户输入自动创建数据库和用户。 我希望向一个数据库中新创建的用户授予所有权限: cur.execute("GRANT ALL PRIVILEGES ON %s.*
我试图理解并理解何时在 JavaScript 中使用私有(private)方法以及何时使用特权方法。根据这篇文章:Private Members in JavaScript ,对象的私有(privat
我的 Web 应用程序有问题:在我的管理 bean 中: private boolean isUserInDB() { List users = userFacade.findByLogin
在我的 Firefox OS 应用中,我想使用 XHR,因此我在 list 文件中将 type 设置为 privileged。 到目前为止我尝试过的轮播插件:Jssor和 Scooch ,当设置此类型
我是一名优秀的程序员,十分优秀!