对于#Groovy世界来说,我有点新鲜"我刚开始使用该语言来理解语法和特征。以前我在Java和Spring Boot上工作很多,而且最后一个是由Povotal支持的,就像Groovy和Grails一样,我想知道是否可以使用Groovy与Spring Boot没有问题。
嗯它有效(显然),但是当我发现GORM的语法和它周围的DSL时,我开始使用它。不幸的是,它似乎与Spring Data JPA和Rest完全吻合,因为我试图做这样的事情:
@grails.persistence.Entity
class Person {
BigInteger id
String firstName
String lastName
static mapping { table name: 'people' }
static constraints { /* whatever */ }
}
@RepositoryRestResource(collectionResourceRel = "people", path = "/api/people")
interface PersonRepository extends JpaRepository<Person, BigInteger> { }
但是Spring Boot无法运行,因为它使用以下语句抛出异常
IllegalArgumentException: Not a managed bean Person
另一方面,如果我使用JPA注释修复该实体(通过删除Grails的注释),我根本没有任何问题。
这有什么解决方案吗?是否有可能以某种方式使用GORM与Spring Data JPA和Rest,因为GORM仍然依赖于Hibernate?
答案 0 :(得分:0)
您必须在 application.properties 或 application.yml 中定义属性 hibernate.packages ,并带有包含实体的路径。样品:
database:
driver: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/retail
username: postgres
password: postgres
hibernate:
packages: ru.rd.core.analytic.dto.jpa
dialect: org.hibernate.dialect.PostgreSQL94Dialect
show_sql: true
hbm2ddl.auto: validate #none validate create-drop update