我正在使用Spring Roo工具构建和Web应用程序。在通过roo shell控制台创建我的类时,我已经多次使用选项-permitReservedWords
来创建一些类(例如,角色,组和用户)。
生成CRUD视图后,我得到了这个例外:
“org.hibernate.exception.SQLGrammarException:无法准备 语句“
然后我意识到只有具有保留名称的实体才会出现问题,所以如何强制这些实体名称,如果不可能我怎么编辑名称,因为eclipse中的重构选项无法解决问题,特别是在项目中有很多AspectJ文件...
答案 0 :(得分:2)
请注意,JPA默认表名是类的名称(减去包),首字母大写,这就是您需要-permitReservedWords
的原因。默认情况下,您的实体用户,角色等将存储在用户,角色等保留的表中几乎所有数据库中的单词。
要更改默认行为,请使用注释" @Table(name =" app_user")" (javax.persistence.Table)指定/定制存储给定实体数据的数据库表名。例如,用户实体可以存储在 uzer 表中。