小编Ada*_*yga的帖子

为什么String.chars()是Java 8中的一个int流?

在Java 8中,有一种新方法String.chars()返回表示字符代码的ints(IntStream)流.我想很多人会期待char这里有一股流.以这种方式设计API的动机是什么?

java string java-8

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

多个罐子,单个持久性单元解决方案?

包括我在内的一些人一直在努力将来自不同模块(jar)的实体合并到一个持久性单元中(特别是使用JavaSE,例如JPA 2.0:自动将来自不同jar*的实体类添加到PersistenceUnit*).根据答案,没有简单的直接方法来做到这一点.解决方案之一是在单个持久性单元文件中列出所有jar中的所有类,但这并不是很优雅.我可能偶然发现了另一种方式.通常,我的所有实体类都使用注释进行映射.至于解决方案:persistence.xml可以包含多个XML映射文件,例如:

main.jar文件META-INF/persistence.xml中!

<persistence-unit name="PU" transaction-type="RESOURCE_LOCAL">
  <mapping-file>META-INF/order-mappings.xml</mapping-file>
  <mapping-file>META-INF/customer-mappings.xml</mapping-file>
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)

映射文件可以放在不同的jar中.我注意到它们可能包含没有任何属性的<entity>元素,例如:

order.jar!META-INF /订单mappings.xml

<entity-mappings>       
  <entity class="com.company.Order"></entity>    
</entity-mappings>
Run Code Online (Sandbox Code Playgroud)

即使映射文件没有映射任何属性,但无论如何都要考虑Java类中的注释,一切似乎都可以正常工作!这意味着只需通过包含来自特定JAR的XML映射文件,就可以轻松地将来自多个jar的实体包含到单个持久性单元中.

我的问题是:这是一个允许的JPA映射文件用法还是只是我的持久性提供程序(Hibernate)的副作用?

java jpa persistence-unit

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

来自nodetool修复的"丢失通知"

我经常在运行时看到以下消息nodetool repair:

[2015-02-10 16:19:40,042] Lost notification. You should check server log for repair status of keyspace xxx
Run Code Online (Sandbox Code Playgroud)

它究竟意味着什么(以及如果它危险的话如何预防它)?

我在四节点集群中使用Cassandra 2.1.2.

cassandra

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

Cassandra的结果顺序

我在Cassandra中有两个关于查询结果的问题.

  1. 当我在Cassandra(即.select * from table)中对表进行"完整"选择时,是否可以保证结果将按分区令牌的递增顺序返回?例如,有下表:

    create table users(id int, name text, primary key(id));
    
    Run Code Online (Sandbox Code Playgroud)

    是否可以保证以下查询将返回结果,并在令牌列中增加值?

    select token(id), id from users;
    
    Run Code Online (Sandbox Code Playgroud)

    如果是这样,如果数据分发到群集中的多个节点,是否也能保证?

  2. 如果上述问题的答案为"是",如果我们使用二级索引,它仍然有效吗?例如,如果我们有以下索引:

    create index on users(name);
    
    Run Code Online (Sandbox Code Playgroud)

    我们使用索引查询表:

    select token(id), id from users where name = 'xyz';
    
    Run Code Online (Sandbox Code Playgroud)

    关于结果的顺序是否有任何保证?

上述问题的动机是,如果在实现分页和/或恢复损坏的较长"数据导出"时令牌是正确的.

编辑:网上有多个资源表明订单与令牌订单匹配(例如,在分区器结果此Datastax页面的描述中):

如果没有WHERE子句中指定的分区键,则结果集的实际顺序将依赖于userid的散列值.

但是,官方Cassandra文档中没有指定结果的顺序,例如.的SELECT语句.

cassandra

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

hasNot() 在 Gremlin 中应该如何工作?

如果给定的顶点没有特定的属性,g.V.hasNot('non-existent-property', 'value')查询的结果应该是什么 ?顶点是否应该由这样的查询发出?

使用 TinkerPop 和 Titan 的内存图时,我得到了矛盾的结果:

gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V.hasNot("abcd", true)
==>v[1]
==>v[2]
==>v[3]
==>v[4]
==>v[5]
==>v[6]
Run Code Online (Sandbox Code Playgroud)

以上对我来说很好 - 顶点没有指定的属性(设置为true),所以所有都返回。但是如果我在 Titan 的内存图中做类似的事情:

gremlin> g2 = TitanFactory.open(com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.buildConfiguration().set(com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.STORAGE_BACKEND, "inmemory"))
==>titangraph[inmemory:[127.0.0.1]]
gremlin> g2.addVertex(null)
==>v[256]
gremlin> g2.V.hasNot("abcd", true)
Run Code Online (Sandbox Code Playgroud)

它不返回任何结果。哪一个是对的?

graph gremlin titan tinkerpop

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

标签 统计

cassandra ×2

java ×2

graph ×1

gremlin ×1

java-8 ×1

jpa ×1

persistence-unit ×1

string ×1

tinkerpop ×1

titan ×1