Springboot отношения многих к одному объекту - PullRequest
0 голосов
/ 12 июля 2020

У меня две сущности: Пользователь и Источник данных. Отношения таковы, что у одного пользователя может быть много источников данных. Я использую 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>

'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...