无法在spring roo中创建存储库

时间:2017-07-30 06:40:30

标签: spring spring-roo

痛苦安装弹簧后。我正在尝试创建一个项目。 然而,在通过spring shell创建pojo之后,我现在正在创建spring存储库。 我运行了以下命令来创建POJO

entity jpa --class ~.DTO.UserDTO
field string --fieldName name --notNull --sizeMin 50

到目前为止一直很好,但这里遇到了麻烦:

 repository jpa --entity ~.DTO.UserDTO --interface ~.repository.UserDTORepository

我立即收到此消息 - 实体选项应该是一个实体。 我被困住了。 我尝试删除pojo并按照以下命令运行:

entity jpa --class ~.DTO.UserDTO --testAutomatically --activeRecord false

我得到的消息是: "Options 'testAutomatically', 'activeRecord' are not available for this command. Use tab assist or the "help" command to see the legal options” 我试过了 "repository jpa --entity ~.dto.UserRecord --interface ~.repository.UserRepository” 得到消息

--entity option should be an entity.
This is where i gave up

My Environment是java 1.8,spring roo 2.0.0.RC1 STS 3.9.0。发布。

1 个答案:

答案 0 :(得分:2)

我一直在检查您的问题,如果您在Spring Roo shell中编写repository jpa --entity,然后按下自动完成密钥(TABCTRL + Space),您会看到显示以下结果:~.dto.UserDTO

所以使用

repository jpa --entity ~.dto.UserDTO --interface ~.repository.UserDTORepository

而不是

repository jpa --entity ~.DTO.UserDTO --interface ~.repository.UserDTORepository

看到区别在于~.DTO包的大写字母。当您输入实体名称时,使用~.DTO作为包的名称,但Spring Roo将所有内容更改为小写。原因是,正如您可以检查Oracle Documentation一样,包名称是全部小写的,以避免与类或接口的名称冲突。

请记住,使用TABCTRL + Space来构造您将执行的命令以防止此类错误非常重要。

希望它有所帮助,