JPA 和 H2 数据库不适用于不可变的
JPA and H2 database doesn't work with immutable
我针对在更大的项目中无法解决的同一问题做了一个简化示例。
简化项目在这里(玩一下):https://gitlab.com/tyvain/h2bug
说明 - 使用 H2 mem 数据库:
可以毫无问题地从 jpa 存储库访问具有模式的简单实体:
@Entity
@Table(name = "SCOLARITE.VOITURE")
但是不可变的实体不能:
@Entity
@Immutable
@Subselect("SELECT DISTINCT ID FROM SCOLARITE.VOITURE")
Table "VOITURE" not found; SQL statement:
select voiturevie0_.id as id1_0_ from ( SELECT DISTINCT ID FROM SCOLARITE.VOITURE )
您可以在gitlab项目中找到重现错误的测试。
我该怎么做才能解决这个问题?
您的 Table 注释有误。您不能在名称属性中指定架构。您必须使用架构属性:
@Table(name = "VOITURE", schema = "SCOLARITE")
我针对在更大的项目中无法解决的同一问题做了一个简化示例。
简化项目在这里(玩一下):https://gitlab.com/tyvain/h2bug
说明 - 使用 H2 mem 数据库:
可以毫无问题地从 jpa 存储库访问具有模式的简单实体:
@Entity
@Table(name = "SCOLARITE.VOITURE")
但是不可变的实体不能:
@Entity
@Immutable
@Subselect("SELECT DISTINCT ID FROM SCOLARITE.VOITURE")
Table "VOITURE" not found; SQL statement:
select voiturevie0_.id as id1_0_ from ( SELECT DISTINCT ID FROM SCOLARITE.VOITURE )
您可以在gitlab项目中找到重现错误的测试。
我该怎么做才能解决这个问题?
您的 Table 注释有误。您不能在名称属性中指定架构。您必须使用架构属性:
@Table(name = "VOITURE", schema = "SCOLARITE")