Articles of spring data jpa

@Param не работает в Spring Data JPA

Я создаю Spring Data JPA Repo для работы с последовательностями в базе данных postgresql. Я предполагал, что это будет довольно просто: @Query(nativeQuery = true, value = "CREATE SEQUENCE IF NOT EXISTS ':seq_name' START WITH :startAt") fun createSequence(@Param("seq_name") seq_name: String, @Param("startAt") startAt: Long = 0) @Query(nativeQuery = true, value = "SELECT nextval(':seq_name')") fun nextSerial(@Param("seq_name") seq_name: String) […]

JPA, Spring Data и Kotlin – Сохранение записей

Исторически я делал свой доступ к данным в Котлине вручную и имел определенную структуру данных, которую я всегда использовал: interface Id { val id: Int } data class Identity<ID : Id>( id: ID, version: Int ) data class Model<ID : Id, DATA>( identity: Identity<ID>, data: DATA ) Делая это, я могу тогда иметь DAO, которые […]

Спецификация Jpa, чтобы найти подмножество значения поля

Я пишу webapp используя Spring Data JPA на уровне persistence, более конкретно, мои DAO расширяют интерфейс JpaSpecificationExecutor , поэтому я могу реализовать какой-то фильтр; представьте себе список Item с несколькими атрибутами (я опускаю аннотации и другие метаданные для ясности): data class Item(var tags: MutableList<String>) На моем сервисном уровне мой метод фильтра выглядит следующим образом: fun […]

Весенний заказ данных по функции Java

У меня есть сущность: +——–+———-+———–+ | Name | Latitude | Longitude | +——–+———-+———–+ | A | x1 | y1 | | B | x2 | y2 | | C | x3 | y3 | +——–+———-+———–+ И я хотел бы получить результат, упорядоченный по расстоянию до заданной точки. Конечно, я могу сделать это вот так: … […]

Нужно ли использовать @Repository, когда я использую только JdbcTemplate в своем классе DAO?

Предположим, у меня есть следующий класс Dao: class MyDao(val em: EntityManager) { fun query() { // since nonExistTable doesn't exist, it will throw an exception val createNativeQuery = em.createNativeQuery("SELECT * FROM nonExistTable"); var e = createNativeQuery.singleResult println(e) } } Когда я пытаюсь выполнить запрос, он будет генерировать java.sql.SQLSyntaxErrorException если я аннотирую класс с @Component и […]

Kotlin и Spring Data JPA создает PropertyReferenceException

В настоящее время я использую Kotlin 1.2 и Spring Boot 2.0 M7 с Spring Data JPA. В этом проекте я использую настраиваемый базовый репозиторий вместо JPARepository или PagingAndSortingRepository (на самом деле это не имеет значения) Вот базовый интерфейс @NoRepositoryBean interface BaseRepository<T, ID : Serializable> : Repository<T, ID> { fun <S : T> save(entity: S): S […]

@Autowired lateinit property '' не был инициализирован

Я пытаюсь создать веб-проект с использованием Spring-boot + Vaadin, и я хочу использовать spring-data-jpa с hibernate для извлечения данных из базы данных PostgreSQL. В моем взгляде Vaadin я пытаюсь autowire мой класс обслуживания, но я всегда получаю трассировку стека нуль и eror не говорит мне почему. kotlin.UninitializedPropertyAccessException: свойство lateinit clientService не было инициализировано по адресу […]

@PrePersist Вариант EventListener для spring-data-mongo

Я создал Repository для автоматического увеличения идентификатора @Document но прямо сейчас мне нужно явно вызвать метод set @Id setter для установки нового идентификатора. Есть ли способ, которым я могу это сделать, используя слушателей, например, в JPA @PrePersist @Repository interface UserRepository : MongoRepository<User, Long>, UserRepositoryCustom interface UserRepositoryCustom { fun save(user: User): User } class UserRepositoryImpl(private val […]

Как добавить весенние ресурсы в классы Apache Ignite?

У меня есть проблема с впрыскиванием весенних бобов в некоторые классы воспламенения. Я пытаюсь создать это: Клиент -> Apache Ignite -> Spring-Data -> DataBase Возможно, это неправильно, я не уверен. Итак, в этот момент мои классы выглядят так: AppConfiguration @Configuration @ComponentScan(basePackages = arrayOf("com.ignite.cache")) open class AppConfiguration : Serializable { private val logger: Logger = Logger.getLogger(AppConfiguration::class.java) […]

@CreationTimestamp и @UpdateTimestamp не работают в Котлине

Это мои классы Tag и Post Entity: @Entity class Tag( @get:NotBlank @Column(unique = true) val name: String = "", val description: String = "" ) { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) val id: Int? = null @ManyToMany(mappedBy = "tags") val posts: MutableSet<Post> = mutableSetOf() @CreationTimestamp lateinit var createDate: Date @UpdateTimestamp lateinit var updateDate: Date fun addPost(post: […]