Tag: spring

Kotlin&Hibernate IllegalArgumentException:无法将字符串字段Job.name设置为Job

我试图坚持一个单一的对象与休眠到Postgres数据库。 这个类看起来像这样: @Entity @Table(name = "jobs") data class Job( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Int? = 0, var name: String? = "" ) 我用下面的代码创建一个hibernate会话: fun createSessionFactory(targetClass: Class<*>): SessionFactory? { val registryBuilder = StandardServiceRegistryBuilder() if (sessionFactory == null) { val configuration = hashMapOf( Environment.DRIVER to "org.postgresql.Driver", Environment.URL to "jdbc:postgresql://localhost:5432/testdb", Environment.DIALECT to "org.hibernate.dialect.PostgreSQL9Dialect", Environment.USER to "user", […]

如何使用Spring Data JPA方法在Kotlin的try-with-resources块中返回Stream?

所以我想使用Kotlin创建一个使用Spring Data JPA项目的Spring Boot ,并让我说我有一个Person实体。 让我们这样说吧: @Entity public class Person { private @GeneratedValue @Id Long id; private String name; @OneToMany private List<Person> friends; … } 我将创建以下接口,以便能够使用Try-with-Resources和Stream<Person> 。 public interface PersonRepository extends Repository<Person, Long> { @Query("select p from Person p") Stream<Person> findAllStream(); } 所以通常在我的服务,我会这样做: @Service class MyService { @Autowired PersonRepository repository; List<String> foo() { try(Stream<Person> stream […]

Spring JPA无法在Kotlin数据类中使用自定义setter映射字段

我有一个自定义setter的Kotlin数据类。 Spring JPA框架似乎无法将属性映射到自定义设置器。 如果我删除自定义getter / setter并重命名属性login而不是_login ,一切似乎工作正常。 如何使用自定义设置器在Kotlin数据类中创建属性,以便在JPA框架中识别它? User.kt @Entity @Table(name = "jhi_user") @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) data class User ( @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") @SequenceGenerator(name = "sequenceGenerator") var id: Long? = null, @NotNull @Pattern(regexp = Constants.LOGIN_REGEX) @Size(min = 1, max = 50) @Column(name = "login", length = 50, unique = true, nullable […]

如何在Kotlin中为@PropertySource创建Java数组?

我正在尝试为我的基于Spring的应用程序配置@PropertySource。 在Java中,我可以做这样的事情: @PropertySource(value = {"application.properties","other.properties" }) 我在Kotlin中尝试过arrayOf ,但是最后我输入了一个类型不匹配的结果: @PropertySource(value = arrayOf("application.properties", "other.properties")) 什么是正确的方式去这里?