有关于 JPA 和 Mybatis Plus的问题
问题背景描述
- 确定数据库字段和其所对应的实体类字段一致。例如:DB(mem_name),Class(memName)
- 用于数据库操作的表,以下简称A表。A表中主键id,名称是id,类型varchar,不为NULL。
- 我实体类定义如下:
// A就是A表对应的实体类
@Data
@TableName("A")
public class A extends BaseClass {
.........
}
@Data
public abstract class BaseEntity {
@TableId(value = "id")
private String id ;//id在application.yml中是UUID的
.......
}
问题:
1. 当使用 Mybatis Plus时:
1.1 利用SQL注解,BaseMapper.selectByID,通过Mapper.XML进行查询一行记录,在ServiceImpl的Test测试方法中可以查询出我需要的记录,而通过Controller进行调用Service方法来获取记录,但是SQL已经执行了。就无法查出,但是新增是可以向A表进行插入数据。
为什么通过Controller调用Service的方法,方面内部:selectByID或以上3中方式之一,就无法查询出数据.
- 当使用 JPA 时:
// A就是A表对应的实体类
@Data
@Entity
@TableName("A")
public class A extends BaseClass {
@Id
@TableId(value = "id")
private String id ;
.........
}
@Data
public abstract class BaseEntity {
.......
}
2.1 你看的没错,我就是把注解放到原有的MyBatis Plus上面,但是调整id位置了,我放到A类中,同样,可以测试查询,放到tomcat中,就无法用请求->controller->service->repository来查询所需数据?
MyBatis-Plus:selectById()无法查询
JAP:findOne(id) 无法查询
都无法放到tomcat中,用请求的方式进行查询,测试都能过!
不明白。求赐教!