【发布时间】:2022-02-03 02:37:38
【问题描述】:
我试图通过创建一个名称对象将我的类分成更小的部分,但是当我这样做时,用户存储库无法从字符串中找到用户,并且似乎需要一个名称对象。
@Entity
@Table(name = "users")
public class UserDTO {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id", insertable = false, updatable = false, nullable = false)
private UUID id;
private Name name;
@Column(name = "name")
public String getName() {
return name.toString();
}
@Value
@Embeddable
public class Name {
String name;
}
我希望能够使用 String 而不是 Name 对象来查找用户,因为我希望 Name 对象与 UserDTO 类隔离
@Repository
public interface UserRepository extends CrudRepository<UserDTO, UUID> {
List<UserDTO> findAll(Pageable limit);
UserDTO findByName(String name);
}
我得到的错误是
Parameter value [1] did not match expected type [Name (n/a)]
我认为是因为 String 与 Name 对象不匹配。
【问题讨论】:
标签: java spring-boot