这是我的HQL查询,但它不起作用并且抛出错误.
Hql查询:
SELECT
*
FROM
TABLEA A
LEFT JOIN
A.TABLEB B
WHERE
A.COLUMNNAME = B.COLUMNAME
Run Code Online (Sandbox Code Playgroud)
它会导致此错误:
org.hibernate.QueryException:
This Query caught Exception. could not resolve property: of TABLEB:TABLEA.
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?实际上我从多个表中检索了一个值.此查询不起作用CreateQuery(strQuery).
我在初始化程序中有以下代码:
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Filter[] getServletFilters() {
DelegatingFilterProxy shiroFilter = new DelegatingFilterProxy("shiroFilter");
shiroFilter.setTargetFilterLifecycle(true);
return new Filter[]{new CorsFilter(),shiroFilter};
}
}
Run Code Online (Sandbox Code Playgroud)
我想CorsFilter先被执行ShiroFilter.但是,Spring文档并未说明执行过滤器的顺序取决于它们在返回数组中的顺序.
如果是,有人可以澄清一下吗?如果没有,有人建议如何做,我保证过滤器的执行顺序?
我正在开发一个程序,我必须在Excel电子表格中设置单元格值
"这是带下划线的文字".
它可以是粗体,斜体或下划线.
我正在使用Apache POI 3.9
我有Lua脚本,我正在考虑迁移到Redis Cluster
我应该在通话时指定完整的密钥名称eval吗?或者我可以通过指定主题标签逃脱?
例如,我想只传递{UNIQUE_HASH_TAG}代替{UNIQUE_HASH_TAG}/key1,{UNIQUE_HASH_TAG}/key2...等
我有很多键,逻辑非常复杂 - 有时我最终动态生成键名但在同一个哈希标记内.
我是否会通过传递哈希标签而不是密钥名称来违反某些规范?
tl; dr:我们的Spring Boot jar中的类似乎看到了捆绑的jar中的类,但它们的内容似乎无法实现.为什么?
我们的主要产品是一个Web应用程序,但所有业务逻辑都集中在一个核心mac-guffin-api.jar.mac-guffin-api.jar是不是一个春天启动的项目,但有一个叫做的Spring Java配置文件net.initech.api.Configuration,初始化所有的服务和仓库等.我们使用MS SQL Server作为我们与后端sqljdbc42:jar驱动程序.
我们需要编写一个需要重用API项目中相同业务逻辑的ETL,因此我们创建了一个Spring Boot Spring Batch项目,该项目mac-guffin-api.jar作为Maven依赖项导入.ETL的配置(net.initech.etl.Configuration)导入的API配置没有问题(我可以从控制台日志中看到它),但是当API配置创建数据库连接时,它无法找到驱动程序.
Caused by: java.lang.ClassNotFoundException: 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:246)
... 113 more
Run Code Online (Sandbox Code Playgroud)
但是,我可以清楚地看到包含驱动程序的JAR存在.ETL的罐子的内容(注: mac-guffin-api.jar和sqljdbc42-4.2.jar是不是解包,他们是在ETL罐子罐子):
mac-guffin-etl.jar
|
+- org.springframework.boot.loader...
|
+- BOOT-INF
|
+- classes
| |
| +- com.initech.etl.Main.class
| |
| …Run Code Online (Sandbox Code Playgroud) 有谁知道我是否可以通过编程方式创建bean上下文?
我希望能够做到这样的事情:
ConfigurableApplicationContext c = new ConfigurableApplicationContext();
BeanDefinition bd = new BeanDefinition();
bd.setId("id");
bd.setClassName("classname");
bd.setProperty("propertyName", propertyValue");
...etc...
Run Code Online (Sandbox Code Playgroud)
或者更好的是仍然能够将现成的bean注入应用程序上下文:
c.addBean("beanId", beanObject);
Run Code Online (Sandbox Code Playgroud)
或者,如果我正在使用注释:
c.setAnnotationAware(true);
c.setAnnotationScanBasePackage("packagename");
Run Code Online (Sandbox Code Playgroud)
要么
c.addAnnotatedSpringClass("classnamethatisannotated");
Run Code Online (Sandbox Code Playgroud)
这样做的理由是我希望能够覆盖bean定义以进行测试 - 在我的测试中,我创建了这个新的应用程序上下文,在测试中配置了代码(不是在xml中),然后使这个测试应用程序上下文具有as父级SUT应用程序上下文.
我没有在spring库中找到任何可以执行此操作的代码.有没有人建造这样的东西?是否有可能建立这样的东西?我知道前一种方法是可行的,我不能100%确定后一种方法可以无条件地工作.
我在映射中有一个关联到一个急切加载的集合(lazy ="false"fetch ="subselect").在进行查询时,如何使用Hibernate以编程方式关闭它?
try
{...
block:
....
}
catch{ ..}
GOTO block
...
....
finally{...}
Run Code Online (Sandbox Code Playgroud)
在这种情况下goto会执行吗?
hibernate ×2
java ×2
spring ×2
acid ×1
acid3 ×1
annotations ×1
apache-poi ×1
browser ×1
c# ×1
classloader ×1
eager ×1
excel ×1
goto ×1
hql ×1
jar ×1
javabeans ×1
lua ×1
oracle ×1
redis ×1
spring-boot ×1
spring-mvc ×1
subquery ×1
unit-testing ×1