小编pL4*_*u33的帖子

Eclipse自动完成不适用于lambda和类型

我使用Eclipse Oxygen.2版本(4.7.2)

我尝试了一些lambda表达式并遇到以下问题:

我编写没有类型的lambda参数,Eclipse自动完成工作正常:

如果我用类型编写lambda参数,则不会自动完成:

但我可以自己写这个并且一切正常:

这是Eclipse中的错误吗?有人可以解释这种行为吗?

java eclipse lambda java-8

7
推荐指数
1
解决办法
1044
查看次数

分离的实体传递给持久化 - 在 findByMethod 上

我理解错误消息并且知道如何解决它,但我想知道为什么它发生在这个特定的地方,特别是在查找方法上。我为此创建了一个迷你示例。

我有三个实体:

@Entity
data class Animal(
    var name: String,
    @ManyToOne(cascade = [CascadeType.ALL]) val zoo: Zoo) {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    var id: Int = -1
}

@Entity
data class Zoo(
    var city: String,
    @OneToMany(cascade = [CascadeType.ALL]) val employee: MutableList<Person>) {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    var id: Int = -1
}

@Entity
data class Person(var age: Int) {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    var id: Int = -1
}
Run Code Online (Sandbox Code Playgroud)

服务:

   @Transactional
    fun save(name:String, city: String){
        repo.findByZooCity(city).ifPresent {
            it.zoo.employee.add(Person(22))
        }
        repo.findByZooCity("OTHER STRING!!!!").ifPresent { …
Run Code Online (Sandbox Code Playgroud)

jpa transactions spring-data-jpa kotlin spring-boot

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

使用相同的输入流验证和读取

我有一个从 xml 文件中获取输入流的网络服务。现在,我想验证并使用相同的输入流读取它。我使用标记并重置它。

在 Glassfish 和 Websphere 上它工作正常。但是当我使用 openEJB 运行我的集成测试时,流将在验证后关闭。我可以在一个简单的例子中重现它。

我怎样才能更好地意识到它?验证器实现始终相同。但是每个环境都使用输入流的另一种实现。

public class XMLReader {
public static void main(String[] args) {
    try {
        XMLReader reader = new XMLReader();
        InputStream stream = new BufferedInputStream(new FileInputStream(
                new File("myXML.xml")));
        reader.read(stream);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public void read(InputStream xmlInputStream) throws SAXException,
        IOException {
    if (xmlInputStream.markSupported()) {
        xmlInputStream.mark(0);
        validateXML(xmlInputStream);
        xmlInputStream.reset();
        readXML(xmlInputStream);
    }
}

private void readXML(InputStream xmlInputStream) {
    // READ xmInputStream with STAX, JAXB, etc. whatever

}

private void validateXML(InputStream xmlInputStream) …
Run Code Online (Sandbox Code Playgroud)

java xml validation xsd inputstream

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