我想使用kundera在给定的命名空间中创建表
例子
foo:bar
其中foo是名称空间,bar是表名
以下配置不会发生这种情况
这是我的坚持单位
<provider>com.impetus.kundera.KunderaPersistence</provider>
<properties>
<property name="kundera.nodes" value="ZookeeperIP" />
<property name="kundera.port" value="2181" />
<property name="kundera.client.property" value="User.xml"/>
<property name="kundera.keyspace" value="UserPROFILE" />
<property name="kundera.dialect" value="hbase" />
<property name="kundera.ddl.auto.prepare" value="update" />
<property name="kundera.client.lookup.class" value="com.impetus.client.hbase.HBaseClientFactory" />
</properties>
</persistence-unit>
这是my user.xml
<clientProperties>
<datastores>
<dataStore>
<name>hbase</name>
<connection>
<properties>
<property name="hbase.zookeeper.quorum" value="ZookeeperIP"/>
<property name="hbase.zookeeper.property.clientPort" value="2181"/>
</properties>
</connection>
<schemas>
<schema>
<name>UNIVERCITY</name>
<tables>
<table>
<name>STUDENT</name>
<properties>
<property name="TTL" value="12345678"/>
<property name="VERSIONS" value="6"/>
<property name="MIN_VERSIONS" value="3"/>
<property name="COMPRESSION" value="GZ"/>
<property name="COMPRESSION_COMPACT" value="GZ"/>
</properties>
</table>
<table>
<name>COURCES</name>
<properties>
<property name="TTL" value="12345678"/>
<property name="VERSIONS" value="6"/>
<property name="MIN_VERSIONS" value="3"/>
<property name="COMPRESSION" value="GZ"/>
<property name="COMPRESSION_COMPACT" value="GZ"/>
</properties>
</table>
</tables>
</schema>
</schemas>
</dataStore>
</datastores>
</clientProperties>
我的实体类如下所示
@Entity
@Table(name = "STUDENT", schema = "UserPROFILE@hbase_pu")
public class Student{
@Id
@Column(name = "StudentID")
String StudentID
@Column(name = "Name")
String Name
}
@Entity
@Table(name = "COURCES", schema = "UserPROFILE@hbase_pu")
public class Cource{
@Id
@Column(name = "CourceID")
String CourceID
@Column(name = "Name")
String Name
}
当我运行测试用例时
userprofile作为表,student和cources作为列族
我所期望的是
我们erprofile:student as 一张table和我们erprofile:cource as 其他表格
我现在觉得kundera persitence.xml中的keyspace作为tablename,entities作为column family
如何避免这种情况??
1条答案
按热度按时间tjjdgumg1#
我想你在用
kundera-hbase
```com.impetus.kundera.client
kundera-hbase
${kundera.version}
Map到
kundera-hbase
键空间==>htable实体==>列族(每个实体类的列族)
而且在
kundera-hbase-v2
keyspace==>命名空间实体==>htable(每个实体一个htable)
更多详情请查看昆德拉维基。另外,请确保您使用的是最新版本的昆德拉。