У меня две сущности: Пользователь и Источник данных. Отношения таковы, что у одного пользователя может быть много источников данных. Я использую mysql и springboot. При доступе к источникам данных / get / данных я получаю сообщение об ошибке сервера, и это, похоже, ошибка преобразования типа. user_name - это поле varchar (255) в обеих таблицах, внешний ключ в таблице data_sources и PK в таблице user entity Speci c.
Может ли кто-нибудь помочь мне с некоторыми направленными входами? Ошибка при доступе к источникам данных get: com. mysql .cj.exceptions.DataConversionException: невозможно определить тип значения из строки 'ZRK'
public class DataSourceEntity {
@JsonCreator
public String getContent() {
return userName;
}
@Column(name="id", nullable = false)
private @Id @GeneratedValue(strategy=GenerationType.IDENTITY) Long id;
@Column(name="idTenant", nullable = false)
private String idTenant;
@Column(name="userName", nullable = false)
private String userName;
@Column(name = "connSourceType")
private String connSourceType;
@Column(name = "connSourceDatabase")
private String connSourceDatabase;
@Column(name = "connSourceTable")
private String connSourceTable;
@Column(name = "connSourceColumn")
private String connSourceColumn;
@Column(name = "mapGroupName")
private String mapGroupName;
@Column(name = "mapSubgroupName")
private String mapSubgroupName;
@Column(name = "mapKpiName")
private String mapKpiName;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "userName", insertable = false, updatable = false)
private UserEntity userEntity;
}
public class UserEntity implements Serializable{
@JsonCreator
public String getContent() {
return userName;
}
@Column(name = "serialVersionUID")
private @Id @GeneratedValue(strategy=GenerationType.IDENTITY) Long serialVersionUID;
@Column(name = "userName")
private String userName;
@Column(name = "password")
private String password;
@Column(name = "lastSessionLength")
private Long lastSessionLength; //In seconds
@OneToMany(mappedBy = "userEntity")
private List<DataSourceEntity> dataSourceEntities;
}
Ошибка при доступе к объекту источника данных через get:
'2020-07-12 18: 48: 41.356 WARN 4668 --- [nio-8080-exe c -2] ohengine.jdb c .spi.SqlExceptionHelper: SQL Ошибка: 0, SQLState: 22018 2020-07-12 18: 48: 41.356 ОШИБКА 4668 --- [nio-8080-exe c -2] ohengine.jdb c .spi.SqlExceptionHelper: невозможно определить тип значения из строки 'ZRK' 2020-07-12 18: 48: 41.364 ОШИБКА 4668 --- [nio-8080-exe c -2] oa c. c. C. [. [. [. c .s. [DispatcherServlet]: Servlet.service () для сервлета [dispatcherServlet]] в контексте с путем [/rhosense.client.services] сгенерировал исключение [Ошибка обработки запроса; вложенное исключение - org.springframework.dao.DataIntegrityViolationException: не удалось выполнить запрос; SQL [выберите datasource0_.id в id1_0_, datasource0_.conn_source_column как conn_sou2_0_, datasource0_.conn_source_database как conn_sou3_0_, datasource0_.conn_source_table в conn_sou4_0_, datasource0_.conn_source_type как conn_sou5_0_, datasource0_.id_tenant как id_tenan6_0_, datasource0_.map_group_name в map_grou7_0_, datasource0_.map_kpi_name как map_kpi_8_0_, datasource0_.map_subgroup_name как map_subg9_0_, datasource0_.user_name как user_na10_0_ из t_ud_metric_map datasource0_]; вложенное исключение - org.hibernate.exception.DataException: не удалось выполнить запрос] с root причиной
com. mysql .cj.exceptions.DataConversionException: невозможно определить тип значения из строки 'ZRK'
ZRK - имя пользователя в обоих объектах.
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-hateoas</artifactId>
<version>[2.2.4.RELEASE,)</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
'