小编M31*_*314的帖子

在Java中查找与URI对应的协议

我在Java中有URI对象.我想将其转换为InputStream,但转换应该依赖于协议.如果我的URI是这样的话,我可以这样做http://somepath.com/mysuperfile.xsl:

return myURI.toURL().openConnection().getInputStream();
Run Code Online (Sandbox Code Playgroud)

或者这样,如果我的uri是file:///somepath/mysuperfile.xsl:

return new FileInputStream(Paths.get(myURI).toFile());
Run Code Online (Sandbox Code Playgroud)

或者甚至是另一种方式.我可以尝试手动检查它,但Java有一些很好/正确的方法来检查它,也许使用新的java.nio.*包?

java url uri inputstream

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

如何在JPA中创建对列表作为参数?

在我的Java应用程序中,我想创建SQL查询,最终将看起来像这样:

SELECT * FROM my_table t WHERE (t.a, t.b) IN ((a1,b1),(a2,b2),(a3,b3), ... )
Run Code Online (Sandbox Code Playgroud)

如何生成它?

我的代码看起来像这样:

public List<MyEntity> getMyEntity(List<Long> alist, List<Long> blist) {

    String stringQuery = "SELECT * FROM my_table t WHERE (t.a , t.b) in (:alist, :blist)"; 

    // This is kinda how I whould like my query to look, but I guess I will generate something like:
    // SELECT * FROM my_table t WHERE (t.a, t.b) IN ((a1, a2, a3, ...), (b1, b2, b3, ...))
    // which isn't the same …
Run Code Online (Sandbox Code Playgroud)

java sql hibernate jpa

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

如何在字段上创建可以为null的Criteria?

我必须在特定字段myProperity上创建创建标准标准(在类MyClass上).我必须选择prop = null或满足特定条件的所有对象.所以我应该做类似的事情:

Criteria criteria = this.sessionManager.getCurrentSession().createCriteria(MyClass.class);

specificCriteria = criteria.createCriteria('myProperity');
/* definition of specificCriteria */

Disjunction disjunction = Restrictions.disjunction();
disjunction.add(Restrictions.isNull('myProperity'));
disjunction.add(specificCriteria);

criteria.add(disjunction);
Run Code Online (Sandbox Code Playgroud)

问题是由事实造成的:

  1. 我不能将Criteria添加到Disjunction(对于Disjunction只能添加一个Criterion),所以line:disjunction.add(specificCriteria); 是错的
  2. 我不能以某种方式修改specificCriteria,接受null因为我不能在null上制作标准.(它给了我NullPointerException)

你有什么想法如何处理它?

hibernate hibernate-criteria

4
推荐指数
3
解决办法
3万
查看次数

Apache Camel:可以在消息体中有多个对象(具有不同的类)吗?

我几乎已经准备好在java中使用jms和Camel的应用程序.弹出我们必须在交换/消息中添加其他信息.让我们说这些额外的信息实际上是新的java对象.添加新对象以进行交换的最佳方法是什么?

我有很多Camel处理器处理消息,如下所示:

public class MyProcessor implements Processor {

    @Override
    public void process(Exchange exchange) throws Exception {
        String s = exchange.getIn().getBody(String.class);
        s = magicalTransform(s);
        exchange.getIn().setBody(s, String.class);

        //Now I have to add object of some Info.cass:
        Info info = new Info( new Date() );
        //Can I add it like this? :
        exchange.getIn().setBody(info, Info.class); 
    }

}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我可以向Message添加许多对象,我找不到信息.Message方法:setBody(Object body,Class type)表明它是可能的,但是还有方法:getBody(),它只有一个body类.

如果我不能这样做,那么最好的方法是什么?我可以尝试将我转换的字符串和信息输入到一个类中,并将该新类放入消息中,但这将导致更改在每个处理器中获取字符串的方式.我想避免这种情况.

apache-camel

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

找不到类型为[org.springframework.security.config.annotation.web.builders.HttpSecurity]的限定bean

我正在尝试使用Spring Security + Spring MVC创建java Web应用程序.我去了错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: protected void ggdb.SecurityConfiguration.configure(org.springframework.security.config.annotation.web.builders.HttpSecurity) throws java.lang.Exception; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.security.config.annotation.web.builders.HttpSecurity] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1204)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-security maven

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

如何从 javax.persistence.EntityManager 获取 org.hibernate.Query?

如何从javax.persistence.EntityManager对象获取org.hibernate.Query(休眠 4.0.1)

java hibernate jpa jakarta-ee

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