标签: spring-data

如何从Spring Data MongoDB中的MongoDB ObjectId中提取时间戳?

MongoDB 文档建议从ObjectId中提取插入时间,而不是使用单独的时间字段.有谁知道如何使用Spring Data MongoDB执行此操作?

特别是,我想查询在特定日期范围内插入的文档.

mongodb spring-data

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

如何使用@Query注释构建查询?

有没有办法使用spring-data mongo @Query注释来表示下面的查询.

db.users.find({userName: "titogeo"}, {requests: 1, _id:0})
Run Code Online (Sandbox Code Playgroud)

控制台中的上述查询输出是

请求":[{"who":"blahblahblah1","who":"blahblahblah2",
"
what":"REQUEST",
"when":ISODate("2012-09-05T17:52:14.339Z")}] }

我尝试了以下但没有奏效.

@Query("{userName: ?0}, {requests:1, _id:0}")
public Page<AddRequest> getAllFriendRequests(String userName, Pageable pageable);
Run Code Online (Sandbox Code Playgroud)

集合用户拥有User对象和请求是其中包含AddRequest对象的列表.

当我执行上面的方法时,我得到一个空白列表.任何帮助表示赞赏.

还有什么好的参考网站或书籍spring-data-mongo apis?

java mongodb spring-data spring-mongo

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

Spring标签<form:option>无法使用Spring Data DomainClassConverter?

我正在使用Spring MVC和Spring Data,并且还配置了Spring Data DomainClassConverter来自动将String id转换为适当的Domain类.

我现在使用标签实现Order to Customer参考:

<form:select path="customer">
    <form:option value="" label="Select" />
    <form:options items="${customers}" itemValue="id" />
</form:select>
Run Code Online (Sandbox Code Playgroud)

这导致给定的HTML:

<select id="customer" name="customer" class="span6">
    <option value="">Select</option>
    <option value="1">Customer A</option>
    <option value="2">Customer B</option>
    <option value="3">Customer C</option>
</select>
Run Code Online (Sandbox Code Playgroud)

当提交例如客户A的帖子时,我会得到一个例外:

org.apache.jasper.JasperException: org.springframework.core.convert.ConversionFailedException: Failed to convert from type java.lang.String to type @javax.validation.constraints.NotNull @javax.persistence.ManyToOne nl.kapsalonreflection.domain.Customer for value ''; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: The given id must not be null!; nested exception is java.lang.IllegalArgumentException: The given id must not be null!
Run Code Online (Sandbox Code Playgroud)

这根本没有意义,因为收到的价值应该是1而不是''.我还调试了收到的请求参数,它只包含customer = 1(如预期的那样) …

spring spring-mvc spring-data spring-data-jpa

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

无法生成querydsl Q类

我相信这个问题已在这里问了一段时间,但没有任何公认的答复.我实际上尝试了各种教程,但没有得到它们.我有一个multi modules maven项目.我有dependency-managementplugin-management在父项目中.poms如下所示:

<!--parent ${querydsl.version} = 2.3.2-->
 <build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <!--                        <fork>true</fork>
                    -->                        
                    <meminitial>128m</meminitial>
                    <maxmem>512m</maxmem>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.4.3</version>
                <configuration>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>

            <plugin>
            <groupId>com.mysema.maven</groupId>
            <artifactId>maven-apt-plugin</artifactId>
            <version>1.0</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>
<dependencyManagment>
    <dependencies>
     <!-- Querydsl -->
        <dependency>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-core</artifactId>
            <version>${querydsl.version}</version>
        </dependency>

        <dependency>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-apt</artifactId>
            <version>${querydsl.version}</version>
        </dependency>

        <dependency>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-jpa</artifactId>
            <version>${querydsl.version}</version>
        </dependency>

        <dependency>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-mongodb</artifactId>
            <version>${querydsl.version}</version>
        </dependency>
        <!-- End Querydsl -->
    </dependencies>
</dependencyManagment>
Run Code Online (Sandbox Code Playgroud)

我在db mobule中都有jpa和mongo,两者都在不同的包中.但我只想 …

mongodb maven-plugin querydsl spring-data spring-data-mongodb

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

获取MongoDB当前集合名称

我正在使用mongoDB + Java + SpringData.没有它的名字,是否有可能获得当前的收藏?

谢谢!

java spring mongodb nosql spring-data

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

使用ActiveRecord与Spring数据的Spring Roo

我正在开始一个新的Spring项目,并决定试用Spring Roo.在设置持久层时,我看到Spring Roo支持(实际上甚至默认为)ActiveRecord模式.虽然我过去一直是DAO/DTO粉丝,但Roo使用ActiveRecord模式非常好,因为它似乎"隐藏"apsect文件中的大多数ActiveRecord方法.

有没有人知道为什么当Spring Data在提供/隐藏CRUD(典型的DAO模式)方面做得如此漂亮时,Spring Roo开发人员会默认ROO使用AR模式?Spring是否试图让更多人使用AR模式而不是Repo模式?

activerecord spring-roo spring-data

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

当我的表没有数据时,从表中选择max id时出现错误

我从我的表中选择最大代码,当它有数据时它可以工作但是当表是空的时我得到错误如下:

这里可能是存储库中的代码:

@Repository("depositRepository")
public interface DepositRepository  extends JpaRepository<Deposit,Integer>,
   JpaSpecificationExecutor<Deposit> {  
    @Query("select max(u.code) from Deposit u")
    String getMaxCode();


}
Run Code Online (Sandbox Code Playgroud)

这是我在服务中调用获取结果的代码:

String maxCode=depositRepo.getMaxCode();
Run Code Online (Sandbox Code Playgroud)

我得到了错误,如下所述:

Hibernate: 
    select
        max(deposit0_.code) as col_0_0_ 
    from
        rems.tbldeposit deposit0_
20:10:55,182  ERROR [rems.controller.DepositController] java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

spring-data spring-data-jpa

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

How does autowiring of custom spring data (mongo) repositories configured with java config work?

I use Spring Data Mongo with repositories. In my xml-configuration everything works fine. Now I want to use Java configuration instead of xml-configuration. This is my java configuration for the repositories:

@Configuration
@EnableMongoRepositories
public class DefaultMongoDbFactoryConfig extends AbstractMongoConfiguration{

    @Value("${db.name}") private String dbName;

    @Inject
    private Mongo mongo;

    @Bean
    protected MongoDbFactory defaultMongoDbFactory() throws Exception {
        return new SimpleMongoDbFactory(mongo, dbName);
    }

    @Bean
    protected MongoTemplate defaultMongoTemplate() throws Exception {
        return new MongoTemplate(defaultMongoDbFactory());
    }

    @Override
    protected String getDatabaseName() {
        return dbName;
    }

    @Override
    public Mongo …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-data spring-data-mongodb

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

在spring-data-jpa架构创建中忽略@Column或@Basic JPA注释

我完全被我希望开箱即用的东西搞糊涂了.所以,要么我做了一些完全错误的事情,要么这只是一个误解.

我试图在JPA Entity类中使用getter/setter注释.我坚持在JPA维基上找到的一个例子(s.http://en.wikibooks.org/wiki/Java_Persistence/Basic_Attributes#Conversion).该示例如下所示:

    @Entity
    public class Employee {
        ...
        private boolean isActive;
        ...
        @Transient
        public boolean getIsActive() {
            return isActive;
        }
        public void setIsActive(boolean isActive) {
            this.isActive = isActive;
        }
        @Basic
        private String getIsActiveValue() {
            if (isActive) {
                return "T";
            } else {
                return "F";
            }
        }
        private void setIsActiveValue(String isActive) {
            this.isActive = "T".equals(isActive);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我采用了最清晰,最干净的spring-data-jpa示例:http://spring.io/guides/gs/accessing-data-jpa/.

我从git中检查出来并更改了他们的示例实体类(s.https://www.chithub.com/spring-guides/gs-accessing-data-jpa/blob/master/complete/src/main/java/hello/Customer .java)看起来如下:

@Entity
public class Customer {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private long id;
    private String …
Run Code Online (Sandbox Code Playgroud)

java spring jpa spring-data spring-data-jpa

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

使用spring-data进行通用搜索

我使用spring数据,我觉得非常有趣,但有一个问题,我想要一个通用的方式来搜索实体的领域.

我有一个有很多领域的实体

public class Lostcard implements java.io.Serializable {
    private Integer id;
    private String nom;
    private String prenom;
    private String cin;
    @DateTimeFormat(pattern = "MM/dd/yyyy")
    private Date dateDeclaration;
    @DateTimeFormat(pattern = "MM/dd/yyyy")
    private Date dateDuplicata;
    private String annexeAdmin;
[...]
Run Code Online (Sandbox Code Playgroud)

所以我想这样做:

public interface LostcardRepository extends JpaRepository<Lostcard, Integer> {

List<Lostcard> findByNom(String nom);
List<Lostcard> findByPrenom(String prenom);
List<Lostcard> findByCin(String cin);
    [...]
}
Run Code Online (Sandbox Code Playgroud)

有没有像findByProperty(String属性,Object value)这样的通用方法?

spring spring-data

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