1
Я создал проект с весной.Spring jpa entity и Lombok
dependencies {
compile('org.springframework.boot:spring-boot-starter-cache')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-data-rest')
compile('org.springframework.boot:spring-boot-devtools')
compile('org.projectlombok:lombok')
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.codehaus.groovy:groovy')
runtime('com.h2database:h2')
runtime('mysql:mysql-connector-java')
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.springframework.restdocs:spring-restdocs-mockmvc')
}
application.properties:
spring.data.rest.base-path=/api
spring.datasource.url=jdbc:mysql://localhost/secret_backend
spring.datasource.username=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
А класс объектов:
package com.app.Entity
import lombok.Data
import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.Id
import javax.persistence.Table
@Data
@Entity
@Table(name = "cities")
public class City {
private @Id @GeneratedValue Long id;
private String slug;
private String title;
private String titleShort;
private City() {}
/*public String getSlug(){
return slug;
}*/
public City(String slug) {
this.slug = slug;
}
}
Когда я навигация на локальный хост: 8080/API/города, я не вижу фактическим база данных данных:
{
"_embedded": {
"cities": [
{
"_links": {
"self": {
"href": "http://localhost:8080/api/cities/7"
},
"city": {
"href": "http://localhost:8080/api/cities/7"
}
}
},
{
"_links": {
"self": {
"href": "http://localhost:8080/api/cities/8"
},
"city": {
"href": "http://localhost:8080/api/cities/8"
}
}
},
...
O если я добавляю getters к сущности, я вижу данные, но из документации lombok. @Data аннотация должна генерировать геттеры и сеттеры для всех свойств сущности.
Вы проверили фактический результат? Является ли ломбок инструментом классов? Кроме того, ломбок нужен только для времени компиляции, а не для времени выполнения. – highstakes
Фактический выход? Может быть, какая-то информация о манекене java (spring)? И lombok находится в компиляции ('org.projectlombok: lombok') – Cawa
Я имею в виду, проверить скомпилированные файлы .class и посмотреть, были ли эти методы добавлены в них (используйте на нем jcom-декомпилятор или команду javap). Зависимость от компиляции означает, что она будет включена в произведенный артефакт, это будет предоставленная область (для которой вам нужен плагин для градиента), хотя это неважно. – highstakes