小编Moi*_*nGK的帖子

如何使用Java驱动程序为MongoDB构建$或查询?

我正在尝试使用MongoDB中的某些条件(使用Java驱动程序).这就是我正在做的事情:

Pattern regex = Pattern.compile("title");   
DBCollection coll = MongoDBUtil.getDB().getCollection("post_details");

BasicDBObject query = new BasicDBObject();
query.put("category_title", "myCategory");      
query.append("post_title", regex);  
query.append("post_description", regex);    

DBCursor cur = coll.find(query);
while(cur.hasNext()) {
    System.out.println(cur.next().get("post_id"));
}
Run Code Online (Sandbox Code Playgroud)

我想$or在这些条件下使用操作数,但我猜默认是"和",我不知道如何更改它.在上面的代码中,如果其中一个条件返回null,结果也是null如此.

java mongodb mongodb-query mongo-java-driver

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

什么是@StaticMetamodel和SingularAttribute <Obj,Obj>?

我现在试图找出这个代码大约两个小时,例如在下面的类中这些字段代表什么?

import java.util.Date;
import javax.persistence.metamodel.ListAttribute;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.StaticMetamodel;
import java.util.UUID;

@StaticMetamodel(Address.class)
public class Address_ extends  {
    public static volatile SingularAttribute<Address, Long> id;
    public static volatile SingularAttribute<Address, UUID> personId;
    public static volatile SingularAttribute<Address, Person> person;
}
Run Code Online (Sandbox Code Playgroud)

Address.class是一个java类,它具有以下定义:

@Entity
@Table(name = "address", schema = "public")
public class Address{
    private Long id;
    private Person person;
    private UUID personId;
    //....
}
Run Code Online (Sandbox Code Playgroud)

请问您能解释一下使用的注释@StaticMetamodel@SingularAttribute注释吗?这可能很简单,但我无法理解.

java spring hibernate dependency-injection jpa

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

使用@ElementCollection映射Set <enum>

我有以下枚举:

package ir.raysis.tcs.rule.days;

public enum Days {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY;
}
Run Code Online (Sandbox Code Playgroud)

我尝试将其映射Set<Days>为如下日期:

@ElementCollection(targetClass = Days.class) 
@JoinTable(name = "days",joinColumns = @JoinColumn(name = "rule_id")) 
@Column(name ="daysOfWeek", nullable = false) @Enumerated(EnumType.STRING) 
private Set<Days> days = new HashSet<>();
Run Code Online (Sandbox Code Playgroud)

但是,它会引发以下异常:

Initial SessionFactory creation failed.org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: rule, for columns: [org.hibernate.mapping.Column(days)]
Apr 14, 2013 4:15:17 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jsp] in context with path [/ptcs] threw exception [javax.servlet.ServletException: java.lang.ExceptionInInitializerError] with root …
Run Code Online (Sandbox Code Playgroud)

java enums hibernate jpa set

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

如何修复运行java时"无法写入核心转储.核心转储已被禁用"错误

我正在使用eclipse开发一个Web应用程序,当我试图在eclipse中运行我的应用程序时,我遇到了一个问题.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f41e4e610b0, pid=3463, tid=139924549404416
#
# JRE version: 7.0_09-b05
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.5-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libwebkitgtk-1.0.so.0+0x11670b0]  void WTF::freeOwnedGPtr<_GdkEvent>(_GdkEvent*)+0x15e00
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to …
Run Code Online (Sandbox Code Playgroud)

java eclipse tomcat java-7

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

mongodb中的查询语法为sql"喜欢" - 我正在使用java

基本上这是我的问题: 如何用"喜欢"查询MongoDB?

但是我想这里的所有答案都适用于你使用mongodb shell命令行的时候,那么db.users.find({"name": /.*m.*/})当我们使用java时,它们是等价的.

这是我想要做的

  DBCollection coll = MongoDBUtil.getDB().getCollection("post_details");      
    BasicDBObject query = new BasicDBObject();      
    query.put("price", new BasicDBObject("$gt", 5).append("$lt", 8));
Run Code Online (Sandbox Code Playgroud)
    /*what should i write instead of this line*/ 
            query.put("title", "/.*m.*/");

    DBCursor cur = coll.find(query);
Run Code Online (Sandbox Code Playgroud)

java mongodb

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

如何从bash执行mongo命令?

我试图从bash脚本运行此命令:

 mongo 192.168.10.20:27000 --eval "use admin && db.shutdownServer() && quit()"
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

[rs.initiate() && use admin && db.shutdownServer() && quit()] doesn't exist
Run Code Online (Sandbox Code Playgroud)

如何在不使用js文件的情况下执行此操作?

bash shell mongodb

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

如何处理蓝/绿部署技术中的数据更改?

我已经研究这篇关于蓝/绿部署的文章,然后一些谷歌搜索引入了我关于Canary Release的这篇文章.我有这种含糊之处:数据库会发生什么?我们应该如何使它们同步?我有两种可能的情况:

  • 想象一下
    ,当蓝色处于活动状态时,每个环境(绿色和蓝色)有两个独立的数据库,新记录将被插入到它的数据库中,绿色不知道这些变化,
    除非我们提供类似机制的触发器(或任何其他机制)更新绿色数据库.
  • 第二种情况表明我们在两个环境之间共享一个向后兼容的数据库,但
    在处理数据库时,向后兼容性并不那么容易,我们必须
    在发布应用程序之前发布数据库更改.

可能存在第三种情况,对主蓝/绿部署中的数据库实施蓝/绿部署.

您认为更好的解决方案是什么?为什么?你建议任何其他练习或众所周知的模式吗?

谢谢

design-patterns blue-green-deployment canary-deployment

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

如何解决消息有效负载的类型为:BufferInputStream Mule中的异常

我已经转换为字节数组但我不断收到此错误:

ERROR 2015-02-25 11:12:30,517 [[ESR].HTTP_Request_Listener.worker.01] org.mule.exception.DefaultMessagingExceptionStrategy: 
********************************************************************************
Message               : Response code 400 mapped as failure. Message payload is of type: BufferInputStream
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. Response code 400 mapped as failure. Message payload is of type: BufferInputStream (org.mule.module.http.internal.request.ResponseValidatorException)
  org.mule.module.http.internal.request.SuccessStatusCodeValidator:37 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/module/http/internal/request/ResponseValidatorException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
org.mule.module.http.internal.request.ResponseValidatorException: Response code 400 mapped as failure. Message payload is of type: BufferInputStream
    at org.mule.module.http.internal.request.SuccessStatusCodeValidator.validate(SuccessStatusCodeValidator.java:37)
    at org.mule.module.http.internal.request.DefaultHttpRequester.innerProcess(DefaultHttpRequester.java:202)
    at org.mule.module.http.internal.request.DefaultHttpRequester.process(DefaultHttpRequester.java:166)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
******************************************************************************** …
Run Code Online (Sandbox Code Playgroud)

java esb transform mule

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

从java更改PostgreSQL当前数据库

有什么方法可以从 Java 应用程序更改 postgreSQL 当前数据库?或者有什么等价物\connect report吗?我知道我可以通过更改 JDBC 连接字符串来做到这一点,但有没有更好的选择?

java database-connection jdbc jdbc-postgres

6
推荐指数
0
解决办法
2097
查看次数

Java 8 Stream distinct不起作用

这就是我在做的事情:

List scores = Stream.concat(oldEntries.stream(), newEntries.stream())
                    .sorted()
                    .distinct()
                    .limit(maxSize)
                    .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

我期待一个没有任何重复的排序列表,但有时候列表中有重复.

我已经覆盖了hashCode和equals方法,我还观察到这些方法每次都返回正确的值.任何人都可以看到我的流有什么问题吗?

这是我的equals()和hashCode()它们由IDEA自动生成:

..
private int userId;
private int levelId;
private int score;

@Override
public boolean equals(Object o) {

    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    Score score = (Score) o;

    if (userId != score.userId) return false;
    return levelId == score.levelId;

}

@Override
public int hashCode() {
    int result = userId;
    result = 31 * result + levelId;
    return result;
} …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

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