当前位置: 首页 > 知识库问答 >
问题:

Spring数据JPA抛出java.lang.ArrayIndexOutOfBoundsException:X[Kotlin]

广楚
2023-03-14
@Entity
@Table(name = "my_entity_table")
class MyEntity(
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    var id: Long = 0,

    @Column(name = "some_field")
    val someField: Int = 2,

    @Column(name = "a_second_field")
    val aSecondField: ASecondField
)

inline class ASecondField(val value: String)

这是StackTrace的一部分:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myEntityRepository': Invocation of init method failed; nested exception is java.lang.ArrayIndexOutOfBoundsException: 3


...

Caused by: java.lang.ArrayIndexOutOfBoundsException: 3
    at org.springframework.data.mapping.model.PreferredConstructorDiscoverer$Discoverers.buildPreferredConstructor(PreferredConstructorDiscoverer.java:221)
    at org.springframework.data.mapping.model.PreferredConstructorDiscoverer$Discoverers.access$200(PreferredConstructorDiscoverer.java:89)
    at org.springframework.data.mapping.model.PreferredConstructorDiscoverer$Discoverers$2.lambda$discover$0(PreferredConstructorDiscoverer.java:161)

...

共有1个答案

商飞龙
2023-03-14

解决方法是使我的内联类(在示例中为asecondfield)为typealias

原来的代码是:

inline class ASecondField(val value: String)

我就是这样解决的:

typealias ASecondField = String
 类似资料:
  • 正在尝试使用远程REST图形数据库配置设置Neo4J。我已经得到了一个本地的嵌入式设置,可以正常工作。唯一的变化是GraphDatabaseService的配置方式。 我使用的是Spring数据Neo4J 3.2。1和Neo4J 2.1。4. 思想? 配置: 这是例外

  • 我有两个实体。父母和孩子。 儿童知识库。JAVA 我试图通过标准找到子实体,它应该总是有父实体。 我得到一个例外,它试图在地址表中找到parentObj。 我找到了这个链接,并尝试了Joep给出的解决方案,但出现了相同的错误。 Spring数据JPA JpaSpecificationExecator EntityGgraph 我错过了什么。我无法理解为什么/如何在just Child对象中查找pa

  • 问题内容: 以下是我的申请流程 控制器-服务-存储库 在服务层,我们具有注释。我们还具有配置,在其中指定实体管理器和txn管理器。 我的怀疑是我认为考虑了在其中指定的txn管理器,并且在服务层进行指定没有影响。例如:服务层可以映射到自定义的txn管理器,其中服务调用的存储库可能具有不同的txn管理器。在那种情况下会不会造成问题? 有人可以澄清一下,在使用jpa存储库时是否需要将其放置在服务层上?

  • 我正在努力让Spring JPA Data为我工作,但一直在努力。问题出在这里。 我有两个域类,它们之间有一个简单的一对多关系: 我已经为每个类设置了存储库接口:CardRepository,扩展JpaRepository的用户存储库,两个存储库都注入到服务中 非常基本的设置。someMethod() 出现问题,其中我用它的标识符查询了一个用户,然后尝试获取映射@OneToMany的列表,然后发生

  • 我有3个实体在我的数据库。实体A具有主密钥PK-A,实体B具有主密钥PK-B,实体C具有主密钥PK-C。 实体A与实体B具有1对多关系,实体B与实体C具有1对多关系 我想在Spring Data JPA中基于PK-A(实际上是实体B中的外键)查询实体C。有可能吗? 但这行不通。还有什么建议我可以试试吗?

  • 在从DB表检索记录时,我们得到了异常。我在另一张桌子上也做了同样的尝试,它起作用了,但在这张桌子上,它不起作用了。我使用的是 在这里,我创建了一个具有 get 映射的 Controller 类 我收到此异常 SEVERE:Servlet.service()的servlet[调度服务器]在上下文中与路径[]抛出异常(请求处理失败;嵌套异常org.springframework.core.conver