注册

jpa适配dm报错

Shawn 2023/02/01 1020 4 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: v8
【操作系统】:centos
【CPU】:
【问题描述】*:

使用hibernate jpa测试报错,报错信息如下:
image.png

jar包版本:

damengVersion = '8.1.2.141' hibernateVersion = '5.3.15.Final' dmDialectHibernateVersion = '8.1.2.141' libs_damengConnector = [group: 'com.dameng', name: 'DmJdbcDriver18', version: damengVersion] libs_hibernateCore = [group: 'org.hibernate', name: 'hibernate-core', version: hibernateVersion] libs_dmDialectHibernate = [group: 'com.dameng', name: 'DmDialect-for-hibernate5.3', version: dmDialectHibernateVersion]

persistence.xml配置如下:

<persistence-unit name="emf" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.DmDialect"/> <property name="hibernate.hbm2ddl.auto" value="update"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="javax.persistence.jdbc.driver" value="dm.jdbc.driver.DmDriver"/> <property name="javax.persistence.jdbc.url" value="jdbc:dm://ip:5236"/> <property name="javax.persistence.jdbc.user" value="xxx"/> <property name="javax.persistence.jdbc.password" value="xxxxxxxxxxxxx"/> </properties> </persistence-unit> </persistence>

测试代码:

public class DmHibernateJPADemo { public static void main(String[] args) { EntityManagerFactory factory = Persistence.createEntityManagerFactory("emf"); EntityManager entityManager = factory.createEntityManager(); RtiDBConfig config = new RtiDBConfig(); config.setId(1); config.setPartitions(8); config.setReplications(3); config.setTtlDays(7); EntityTransaction transaction = entityManager.getTransaction(); try { transaction.begin(); entityManager.persist(config); transaction.commit(); } catch (Exception e) { e.printStackTrace(); transaction.rollback(); } RtiDBConfig result = entityManager.find(RtiDBConfig.class, 1); System.out.println(result); entityManager.close(); factory.close(); } }
@Entity @Table(name = "rtidb_config") public class RtiDBConfig { @Id @GeneratedValue private long id; private int replications; private int ttlDays; private int partitions; public long getId() { return id; } public void setId(long id) { this.id = id; } public int getReplications() { return replications; } public void setReplications(int replications) { this.replications = replications; } public int getTtlDays() { return ttlDays; } public void setTtlDays(int ttlDays) { this.ttlDays = ttlDays; } public int getPartitions() { return partitions; } public void setPartitions(int partitions) { this.partitions = partitions; } @Override public String toString() { return "RtiDBConfig{" + "id=" + id + ", replications=" + replications + ", ttlDays=" + ttlDays + ", partitions=" + partitions + '}'; } }

项目结构:
image.png

回答 0
暂无回答
扫一扫
联系客服