小编t77*_*777的帖子

请求:如何禁用/绕过代理

我得到一个网址:

r = requests.get("http://myserver.com")
Run Code Online (Sandbox Code Playgroud)

正如我在"myserver.com"的"access.log"中看到的那样,使用了客户端的系统代理.但我想完全禁用使用代理requests.

python python-requests

40
推荐指数
5
解决办法
6万
查看次数

如何使用JPA/hibernate创建索引,并使用MappedSuperClass中的字段以及来自具体实体的字段

我有@MappedSuperClass(简化的例子):

@MappedSuperclass
public abstract class MySuperClass {

    @Id
    @GeneratedValue
    private long id;

    @Column(nullable = false)
    private Date creationDate;

    // ...
}
Run Code Online (Sandbox Code Playgroud)

和具体的Entity(简化例子):

@Entity
public class MyEntity extends MySuperClass {
    @Index(name = "IDX_MYINDEX")
    @Column(nullable = false)
    @Enumerated(EnumType.STRING)
    private MyType type;

    @Index(name = "IDX_MYINDEX")
    @Column(nullable = false)
    @Enumerated(EnumType.STRING)
    private MyResult status;

    // ...
}
Run Code Online (Sandbox Code Playgroud)

现在我需要包括列的索引MySuperClass.creationDate,MyEntity.statusMyEntity.type.

如果我添加@Index(name = "IDX_MYINDEX")MySuperClass.creationDatehibernate,则为creationDate每个继承的Entity 添加一个索引MySuperClass.

我试过@AttributeOverride但它不能用于索引.

有任何想法吗?TIA!

java hibernate jpa

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

在抽象超类上获取泛型类型参数的实际类型

我有一个类:

public abstract class BaseDao<T extends PersistentObject> {

  protected Class<T> getClazz() {
     return T.class;
  }

  // ...

}
Run Code Online (Sandbox Code Playgroud)

但是编译器说T.class;:Illegal class literal for the type parameter T.

我怎样才能上课T

java generics dao jpa

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

如何忽略正则表达式中的转义字符?

我有以下正则表达式匹配以'+'开头的文本的所有单词.

Pattern.compile("\\+[\\w-]+");
Run Code Online (Sandbox Code Playgroud)

这种运作良好,并匹配"+Foo or +Bar""+Foo""+Bar".

如何扩展正则表达式以忽略以转义'+'开头的单词?char?

"+Foo or +Bar but no \\+Hello"应该匹配"+Foo","+Bar" 但不"+Hello"匹配.

(它应该适用于JDK1.7.)

在此先感谢您的帮助!

java regex

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

避免在继承的java类中进行转换

我有一节课:

class MyClass {

  public MyClass getParent() { ... }

  public MyClass[] getChildren() { ... }

  ....

}
Run Code Online (Sandbox Code Playgroud)

和一个子类

MySubClass extends MyClass {

  public String getId() { }

  ...
}
Run Code Online (Sandbox Code Playgroud)

每次我使用getChildren()getParent()在一个实例上MySubClass,我都要投射theese方法的结果,例如:

MySubClass sub = new MySubClass();
((MySubClass)sub.getParent()).getId();
Run Code Online (Sandbox Code Playgroud)

是否有任何方法(通过语言或设计)来避免演员表演?

谢谢你的任何想法!

更新 我想要的是getParent()getChildren()始终返回它们被调用的实例的类型,例如sub.getChildren()应该返回MySubClass[]

java inheritance casting

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

object引用未保存的瞬态实例:如何刷新或返回保存的对象

我使用Spring 3.2.3和Hibernate 4.2.3和JDK 7.

我有一个简单的实体:

@Entity
public class Language {
    @Id
    @GeneratedValue
    private long id;

    @Column(nullable = false, length = 3, unique = true)
    private String code;
}
Run Code Online (Sandbox Code Playgroud)

我使用@Service@Transactional注释方法的带注释的类保存了这个实体的实例,该方法使用DAO来保存实体

sessionFactory.getCurrentSession().save(object);
Run Code Online (Sandbox Code Playgroud)

之后我使用保存的 Language实体进行创建EntityX,在ManyToOne关系中使用它...

lang=new Language();
// ...
languageService.saveLanguage(lang);
e=new EntityX();
// ...
e.setLanguage(lang);
otherService.saveEntity(e);
Run Code Online (Sandbox Code Playgroud)

并被EntityX定义为......

@Entity
public class EntityX {
    @ManyToOne
    @JoinColumn(nullable = false)
    private Language language;
        // ...
}
Run Code Online (Sandbox Code Playgroud)

我总是得到例外

Exception in thread "main" org.hibernate.TransientObjectException: object references an …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate

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

jaxb2-maven-plugin将classpath添加到生成的源中

我使用codehaus jaxb-maven-plugin从xml架构创建java类:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxb2-maven-plugin</artifactId>
            <version>2.2</version>
            <executions>
                <execution>
                    <id>xjc</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>xjc</goal>
                    </goals>
                    <configuration>
                        <sources>
                            <source>src/my.xsd</source>
                        </sources>                           
                            <packageName>mypackage</packageName>
                    </configuration>
                </execution>
            </executions>
         </plugin>
Run Code Online (Sandbox Code Playgroud)

这些类按预期生成target/generated-sources/jaxb,但此路径不会添加到类路径中.

因此,如果我在其他(未生成的)类中使用某些生成的类,则maven在编译过程中无法找到它.

有任何想法吗?TIA!

java xml jaxb maven

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

Postgresql:带有转义换行符的CSV导出

我使用(全部)发布在此处的指令从postgresql数据库导出一些数据:将PostgreSQL的PL/pgSQL输出保存到CSV文件

但是一些导出的字段包含换行符(换行符),所以我得到了一个CSV文件,如:

header1;header2;header3
foobar;some value;other value
just another value;f*** value;value with
newline
nextvalue;nextvalue2;nextvalue3
Run Code Online (Sandbox Code Playgroud)

我如何逃避(或忽略)theese换行符?

csv postgresql export-to-csv

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

Java 8使用流和收集器映射到集合的子列表条目

我有一个Person对象的集合:

public class Person {

  String name;

  ChildrenListHolder childrenListHolder;
}

public class ChildrenListHolder {
   List<Children> children;
}

public class Children {
   String childrensName;
}
Run Code Online (Sandbox Code Playgroud)

(实体结构由第三方提供.)

现在,我需要一个Map<String,List<Person>>childrensName - > person-list

例如(简化):

Person father: {name: "John", childrensListHolder -> {"Lisa", "Jimmy"}}
Person mother: {name: "Clara", childrensListHolder -> {"Lisa", "Paul"}}
Person george: {name: "George", childrensListHold -> "Paul"}}
Run Code Online (Sandbox Code Playgroud)

我需要的地图是

Map<String, List<Person>> map: {"Lisa"  -> {father, mother},
                                "Jimmy" -> {father},
                                "Paul"  -> {mother, george}}
Run Code Online (Sandbox Code Playgroud)

我可以用一堆for和if来做到这一点.但是我如何使用流和收集器来做到这一点.我尝试了很多方法,但是我无法得到预期的结果.TIA.

java java-8 java-stream collectors

5
推荐指数
2
解决办法
7268
查看次数

org.reflection.Reflections 0.10.2 作为 jar 运行时失败(例如在 docker 容器中)

我使用了 org.reflections (最新):

new Reflections("my.package").getSubTypesOf(MyService.class);
Run Code Online (Sandbox Code Playgroud)

它在 IntelliJ 中运行良好,并返回MyService.class.

但在 docker 容器中运行时,它返回一个空的Set.

(其他任何东西都可以在 docker-container 中正常运行)

有任何想法吗?蒂亚!

java spring reflections docker spring-boot

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