我正在https://github.com/impetus-opensource/Kundera/wiki/Getting-Started-in-5-minutes使用Kundera教程.当我在项目根目录创建文件夹META-INF并在其中放置persistence.xml时,Eclipse找不到它.
我做了一个快速搜索,并没有发布真正的解决方案.
没有合理的理由说明简单的文件路径应该很难配置.我正在寻找一个简单的答案,应该是一个简单的问题.
我正在尝试使用Hive作为数据库开发应用程序,然后我也发现noSQL解决方案作为它的替代方案.
现在决定使用Cassandra进行开发,我的下一个问题是关于我应该使用哪个客户端?哪一个更好,Hector - 一个纯java解决方案,还是带有JPA开发的Kundera?
我更喜欢赫克托,但我对昆德拉很好奇.有没有人使用昆德拉?哪个更好?
我很好奇CQL(Cassandra查询语言).它可以与赫克托耳集成吗?
我们正在和Cassandra一起弄湿脚.我们都没有这个特定平台的经验,但是经验丰富的开发人员使用JavaEE,JPA等.我遇到了Kundera库,它提供了与几个NoSQL数据存储兼容的JPA实现,包括Cassandra.
沿着这条路走下去很诱人,因为我们能够更快地起床和跑步.但是,这是正确的想法吗?使用像这样的库有什么权衡?它如何影响性能?有很大的不同吗?
我很想知道其他人使用这个库的经历.而且,如果还有其他什么我们应该看,而不是我喜欢听到它.
我已经在Neo4J上创建了一个高级客户端的基本实现(https://github.com/impetus-opensource/Kundera/tree/trunk/kundera-neo4j),并希望将其性能与Native neo4j驱动程序进行比较(也可能是SpringData) ).这样我就可以确定我的库放置本机驱动程序的开销.
我计划为Neo4J创建YCSB的扩展.
我的问题是:什么应该被视为要写入neo4j的对象的基本单位(如果它是一个节点或由边连接的几个节点).Neo4J世界目前的做法是什么.人们如何对neo4j性能进行基准测试.
我有一个连接到cassandra实例的Java API应用程序。我的cassandra实例托管在Google云平台上。当我在IDE中运行该程序时,它可以正常工作,并且能够连接到cassandra实例。但是,当我在Docker容器中部署应用程序时,出现以下错误
com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /104.X.X.X:9042 (com.datastax.driver.core.exceptions.TransportException: [/104.X.X.X:9042] Error writing
Run Code Online (Sandbox Code Playgroud)
从容器内部,我可以ping Cassandra实例。我在Google端看到的大多数错误都是“连接已关闭”或“频道已关闭”或“无法连接”。但是,此操作以“错误写入”结束,请有人帮我解决此问题。
我有两个类,我想使用 OneToMany 与 EmbeddedId 的关系(我使用kundera框架)我的传感器实体类:
public class SensorEntitie implements Serializable {
@EmbeddedId
private CompoundKey key;
@Column
private float temperature;
@Column
private float pressure;
@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
@JoinColumn(name="what I should to put here")
private List<PieceEntitie> pieces;
}
@Embeddable
public class CompoundKey
{
@Column
private String IdSensor;
@Column
private long date;
@Column(name = "event_time")
private long eventTime;
Run Code Online (Sandbox Code Playgroud)
我的作品类实体
public class PieceEntitie implements Serializable{
/**
*
*/
@Id
private String IdPiece;
@Column
private double width;
@Column …Run Code Online (Sandbox Code Playgroud) 有没有人对Hibernate OGM与Kundera的使用有反馈?我知道这两个框架正在为NoSQL解决方案提供Java持久性(JPA)支持,我希望从那些研究两者的人的经验中受益.听起来昆德拉支持更多的NoSQL DataSource.
在工件部署的最开始,Wildfly 会验证 persistence.xml 中描述的所有持久性单元。负责类之一org.jboss.as.jpa.processor.PersistenceUnitServiceHandler来自wildfly-jpa图书馆。
主要问题:是否可以以某种方式禁用此验证?或者只是将持久性单元标记为忽略?
详细说明根本原因:
我们将构建无环境的工件。所以persistence.xml里面的配置会在一开始就被java代码覆盖。默认配置是虚拟的,看起来像这样:
<persistence-unit name="cassandra_unit" transaction-type="RESOURCE_LOCAL">
<provider>com.impetus.kundera.KunderaPersistence</provider>
<class>sample.model.Manager</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="kundera.nodes" value="localhost"/>
<property name="kundera.port" value="9165"/>
<property name="kundera.username" value="test"/>
<property name="kundera.password" value="test"/>
<property name="kundera.keyspace" value="keyspace"/>
<property name="kundera.dialect" value="cassandra"/>
<property name="kundera.client.lookup.class" value="com.impetus.kundera.client.cassandra.dsdriver.DSClientFactory"/>
</properties>
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)
但是 wildfly 会验证持久性单元并调用KunderaPersistence.createContainerEntityManagerFactory。昆德拉反过来检查与 localhost:9165 的连接并失败。所以部署也失败了。
任何解决方法都是可以接受的。