我正在尝试在HANA DB上使用JPA设置表。
我想将表设置为列存储(默认为行存储)。
寻求帮助,找到注释以便使用代码设置表格,而不是每次都手动更改。
谢谢。
这是我的代码示例:
@Entity
@Table(name = "ACCOUNT")
@IdClass(Account.class)
@Data
public class Account {
@Id
@Column(name = "NAME", length = 32)
protected String landscape;
@Id
@Column(name = "ACCOUNT", length = 32)
protected String accountName;
}
答案 0 :(得分:1)
看来你做不到。在此链接中引用的文档:
https://archive.sap.com/documents/docs/DOC-28976
请注意:
JPA实体目前无法生成列表(否 提供程序的支持列表注释。)
答案 1 :(得分:0)
经过简短的调查,我发现我不能使用JPA,但是我有另一个使用Liquid-Base的解决方案。 创建更改日志并使用列存储的命令:
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
<changeSet author="myapplication" id="myid">
<validCheckSum>ANY</validCheckSum>
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="TABLE_NAME"/>
</not>
</preConditions>
<sql>
ALTER TABLE SCHEMA.TABLE_NAME COLUMN
</sql>
</changeSet>
</databaseChangeLog>
答案 2 :(得分:0)
另一种选择是将默认表类型从row
更改为column
。
这可以通过在default_table_type
配置文件的sql
部分中设置参数indexserver.ini
来完成。
SAP HANA 1和SPS2之前的SAP HANA 2的交付默认设置为row
,而SAP HANA 2 SPS3中SAP的交付默认设置为column
。