JPA@Entry报错Could not determine recommended JdbcType for Java type

问题很明显,无法自动决定类型,那就手动告诉该字段。

一、直接上解决方案

如果是一对一的关系用 @OneToOne

如果是一对多的关系用 @OneToMany

如果是多对一的关系用 @ManyToOne

二、另一个无空构造函数的问题

使用注解后,注解报错找不到空的构造函数。
这是因为用错了包,改一下导入包即可。

None of the following functions can be called with the arguments supplied:
public constructor OneToOne(buildingContext: MetadataBuildingContext!, table: Table!, owner: PersistentClass!) defined in org.hibernate.mapping.OneToOne
private constructor OneToOne(original: OneToOne!) defined in org.hibernate.mapping.OneToOnekotlin(NONE_APPLICABLE)

在这里插入图片描述

import org.
这个错误通常发生在 JPA 查询过程中,它表示在实例化对象时找不到匹配的构造函数,并且某些参数没有定义别名以进行 bean 注入。 要解决这个问题,你需要检查以下几个方面: 1. 确保实体类具有无参构造函数:JPA 在实例化实体类时需要无参构造函数。确保你的实体类中有一个公共的无参构造函数。 2. 确保实体类中有使用 `@AllArgsConstructor` 或 `@NoArgsConstructor` 注解的构造函数:如果你在实体类中定义了其他构造函数,并且没有明确使用 `@AllArgsConstructor` 或 `@NoArgsConstructor` 注解指定构造函数参数,那么 JPA 将无法自动匹配构造函数。 3. 确保查询结果与实体类的字段匹配:当你执行查询时,确保查询结果与实体类的字段一一对应。如果查询结果中的字段与实体类中的字段不匹配,JPA 将无法找到匹配的构造函数。 4. 使用 `@SqlResultSetMapping` 注解定义结果映射:如果你执行的是复杂查询,并且查询结果不是实体类的全部字段,那么你可以使用 `@SqlResultSetMapping` 注解定义结果映射。这样,JPA 将能够正确地映射结果到指定的构造函数或 DTO 类中。 5. 确保在查询中正确使用了别名:如果你在查询中使用了别名(如 `SELECT e.name AS empName`),确保别名与实体类中的字段或构造函数参数别名一致。 通过检查上述方面,你应该能够解决 "Could not determine appropriate instantiation strategy" 错误。如果问题仍然存在,请提供更多的代码和错误信息,以便更好地帮助你解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值