Java 使用MongoDB的Querydsl

Java 使用MongoDB的Querydsl,java,spring,mongodb,querydsl,Java,Spring,Mongodb,Querydsl,我在Java Spring项目中有以下Mongo配置: @Configuration public class MongoConfiguration { public static int allocateRandomPort() { try { ServerSocket server = new ServerSocket(0); int port = server.getLocalPort();

我在Java Spring项目中有以下Mongo配置:

    @Configuration
public class MongoConfiguration {

    public static int allocateRandomPort() {
        try {
            ServerSocket server = new ServerSocket(0);
            int port = server.getLocalPort();
            server.close();
            return port;
        } catch (IOException e) {
            throw new RuntimeException("Failed to acquire a random free port", e);
        }
    }

    @Bean
    public Mongo mongo() throws IOException {
        System.setProperty("DB.TRACE", "true");
        return new EmbeddedMongoBuilder()
                .version("2.6.0")
                .bindIp("127.0.0.1")
                .port(allocateRandomPort())
                .build();
    }
}
要开始使用Querydsl Mongodb模块构建查询,说明:

Morphia morphia;
Datastore datastore;
// ...
QUser user = new QUser("user");
MorphiaQuery<User> query = new MorphiaQuery<User>(morphia, datastore, user);
我想在
Spring Data MongoDB存储库
中构建查询。是否有一个完整的功能示例


谢谢。

Morphia和Spring数据Mongodb是Querydsl Mongodb的替代对象映射器。Querydsl本身与Morphia集成捆绑在一起,对于Spring Data Mongodb,您需要参考进行设置。

我最后使用了本教程,该教程非常有用:
Morphia morphia = new Morphia()
        .map(Book.class, Author.class, Tag.class);