首页 > 解决方案 > Spring boot 不会从实体创建表

问题描述

当我第一次尝试保存实体时,我得到了这些错误。这是弹簧靴。

lifePolicyReconciliationReceivedRepository.save(lifePolicyReconciliationReceived);

这是存储库。

我得到了这些错误:

 ARJUNA016129: Could not end XA resource com.ibm.db2.jcc.t4.a4@3275401a
    
    com.ibm.db2.jcc.am.XaException: [jcc][t4][10401][12066][4.24.92] XA exception: XA_RBROLLBACK ERRORCODE=-4228, SQLSTATE=null

在此之前填写所有字段。实体是这样的:

  @Entity @Table(
            schema = "CREAM" // i want to put in that schema //        , //     name = "D_RECONCILIATION_RECEIVED" // i sometimes give name, but with or without it, errors are taken

)
@Getter
@Setter
@NoArgsConstructor
public class LifePolicyReconciliationReceived extends Serializable {

    /**
 *
 */
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)//i also did GenerationType.IDENTITY but still error
private Long id;

private Long applicationId;

@Temporal(TemporalType.DATE)
private Date receiveDate;

@Temporal(TemporalType.DATE)
private Date startDate;

@Temporal(TemporalType.DATE)
private Date endDate;

}

当我将 Id 更改为.IDENTITY时,它变为:

Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=CREAM.D_RECONCILIATION_RECEIVED, DRIVER=4.24.92

当我通过转到 sql 手动创建时,没有问题。它可以保存在那里,但我为什么要这样做?Spring boot 可以做到并连接多对一等关系。

因为根据这里 DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704

第二个错误是缺少架构。为什么它不自己创造?

这个存储库:

public interface LifePolicyReconciliationReceivedRepository extends JpaRepository<LifePolicyReconciliationReceived, Long> {


}

通常,没有属性文件。仅 yml 用于端口。但我创建并添加了这个:

spring.jpa.hibernate.ddl-auto=update

和应用程序java文件,我添加了这个:

@EntityScan(basePackages = {"com/xxx/xxx/dbmodel, "com.xxxx.xxx.dataaccess""})
@EnableConfigurationProperties

有Maven模块。我正在使用其中一个模块。所以,我必须给出实体路径,另一个是存储库路径。

但没有奏效。

此外,更改为这个但仍然没有工作:

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:db2://192.168.xx.xx:60000/FF
spring.datasource.username=qqq
spring.datasource.password=fff

因此,当应用程序启动时,没有创建表。我正在检查日志。所以应用程序启动后,我尝试保存。当存储库尝试保存时,它会出错。

Method threw 'org.springframework.dao.InvalidDataAccessResourceUsageException' exception.

标签: sqlspringspring-boot

解决方案


推荐阅读