Java 在Jhipster中使用JDL时出错

Java 在Jhipster中使用JDL时出错,java,spring,mariadb,liquibase,jhipster,Java,Spring,Mariadb,Liquibase,Jhipster,我在Jhipster中使用JDL时遇到问题。我用JDL Studio设计我的实体,这是创建后的jhipster-JDL.jh文件: entity Member { fullName String required maxlength(100), birthDay LocalDate, address String maxlength(100), phone String maxlength(12), avat

我在Jhipster中使用JDL时遇到问题。我用JDL Studio设计我的实体,这是创建后的jhipster-JDL.jh文件:

    entity Member {
        fullName String required maxlength(100),
        birthDay LocalDate,
        address String maxlength(100),
        phone String maxlength(12),
        avatar String maxlength(100),
        aboutMe String maxlength(5000),
        systemStatus SystemStatus required,
        star Integer required
    }

    entity RealEstate {
        useFor UseFor required,
        location String maxlength(100),
        address String required maxlength(100),
        acreage Float required,
        price Float required, 
        currencyUnit CurrencyUnit required,
        typeRent TypeRent,
        status Status required,
        systemStatus SystemStatus required,
        description String maxlength(7000),
        star Integer required,
        numberBedRooms Integer,
        numberBathRooms Integer,
        avatar String maxlength(100)
        buildIn LocalDate,
        numberViews Integer required,
        createDate ZonedDateTime required
    }

    entity TypeRealEstate {
        name String required maxlength(50),
        number Integer required
    }

    entity Project {
        name String required maxlength(100),
        address String maxlength(100),
        location String maxlength(100),
        avatar String maxlength(100),
        price Float,
        description String maxlength(10000)
        tag String maxlength(200)
    }

    entity TypeProject {
        name String required maxlength(50)
        number String required
    }

    entity Coordinate {
        lat Float required,
        lnt Float required,
        type TypeCoordinate required
    }

    entity Bounds {

    }

    entity Question {
        content String required maxlength(1000)
        timeQuestion ZonedDateTime required,
        answer String required maxlength(1000),
        timeAnswer ZonedDateTime required,
        levelOfSatisfaction Float min(0) max(5)
    }

    entity Tag {
        name String required maxlength(50),
        number Integer required
    }


    entity Notification {
        content String required maxlength(100),
        typeNoti TypeNoti required
    }

    enum UseFor {
        SALE, RENT
    }

    enum CurrencyUnit {
        MILLION, BILLION
    }

    enum TypeRent {
        MONTH, YEAR
    }

    enum Status {
        AVAILABLE, NOT_AVAILABLE
    }

    enum SystemStatus {
        PENDING, APPROVED, NOT_APPROVE, LOCKED
    }

    enum TypeCoordinate {
        REAL_ESTATE, PROJECT, BOUNDS
    }

    enum TypeNoti {
        ANSWER, QUESTION, STAR
    }

    relationship OneToOne {
        Member{user} to User
    }


    relationship OneToMany {
        Member{realEstate} to RealEstate{poster}
    }

    relationship OneToMany {
        Project{realEstate} to RealEstate{project}
    }

    relationship OneToOne {
        Coordinate{project} to Project{coordinate}
    }

    relationship OneToOne {
        Coordinate{realEstate} to RealEstate{coordinate} 
    }

    relationship ManyToMany {
        Member{userStar} to User
    }

    relationship OneToMany {
        RealEstate{question} to Question
    }

    relationship OneToMany {
        Project{question} to Question
    }

    relationship OneToOne {
        Question{user} to User
    }

    relationship OneToOne {
        Bounds{southWest} to Coordinate
    }

    relationship OneToOne {
        Bounds{northEast} to Coordinate
    }

    relationship OneToOne {
        RealEstate{bounds} to Bounds
    }

    relationship OneToOne {
        Project{bounds} to Bounds
    }

    relationship ManyToOne {
        Notification{user} to User  
    }

    relationship OneToOne {
        Notification{question} to Question
    }

    relationship OneToOne {
        Notification{realEstate} to RealEstate
    }

    relationship OneToOne {
        Notification{project} to Project
    }

    relationship ManyToMany {
        RealEstate{userStar} to User
    }

    relationship ManyToMany {
        RealEstate{tag} to Tag{realEstate}  
    }

    relationship ManyToMany {
        Project{tag} to Tag{project}
    }

    relationship OneToMany {
        TypeRealEstate{realEstate} to RealEstate{type}
    }

    relationship OneToMany {
        TypeProject{project} to Project{type}
    }

    paginate RealEstate, Member, Project, Question, Notification with infinite-scroll

    dto * with mapstruct
然后我使用命令yo
jhipster:import jdl jhipster jdl.jh
生成实体,它运行成功,没有错误。但是当我使用命令
/mvnw
运行我的项目时,我的项目无法运行,这是日志:

2016-10-27 09:18:31.099 ERROR 8835 --- [  restartedMain] o.h.hql.internal.ast.ErrorCounter        : line 1:17: unexpected token: member
2016-10-27 09:18:31.103 ERROR 8835 --- [  restartedMain] o.h.hql.internal.ast.ErrorCounter        : line 1:17: unexpected token: member

antlr.NoViableAltException: unexpected token: member
    at org.hibernate.hql.internal.antlr.HqlBaseParser.selectClause(HqlBaseParser.java:1343)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1062)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:731)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:323)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:186)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:295)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:203)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:131)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:93)
    at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:167)
    at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
    at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
    at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1836)
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:328)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:91)
    at org.hibernate.hql.internal.ast.ErrorCounter.throwQueryException(ErrorCounter.java:109)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:304)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:203)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:131)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:93)
    at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:167)
    at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
    at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
    at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1836)
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:328)
    ... 53 common frames omitted

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 28.009 s
[INFO] Finished at: 2016-10-27T09:18:32+07:00
[INFO] Final Memory: 65M/527M
[INFO] -----------------------------------------------------------------------
2016-10-27 09:18:31.099错误8835---[restartedMain]o.h.hql.internal.ast.ErrorCounter:第1行:17:意外令牌:成员
2016-10-27 09:18:31.103错误8835---[restartedMain]o.h.hql.internal.ast.ErrorCounter:第1行:17:意外令牌:成员
antlr.NoViableAltException:意外标记:成员
位于org.hibernate.hql.internal.antlr.HqlBaseParser.selectClause(HqlBaseParser.java:1343)
位于org.hibernate.hql.internal.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1062)
位于org.hibernate.hql.internal.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:731)
位于org.hibernate.hql.internal.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:323)
位于org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:186)
位于org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:295)
位于org.hibernate.hql.internal.ast.QueryTranslatorImpl.docomFile(QueryTranslatorImpl.java:203)
位于org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158)
位于org.hibernate.engine.query.spi.HQLQueryPlan.(HQLQueryPlan.java:131)
在org.hibernate.engine.query.spi.HQLQueryPlan.(HQLQueryPlan.java:93)
位于org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:167)
位于org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
位于org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
位于org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1836)
位于org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:328)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:91)
位于org.hibernate.hql.internal.ast.ErrorCounter.throwQueryException(ErrorCounter.java:109)
位于org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:304)
位于org.hibernate.hql.internal.ast.QueryTranslatorImpl.docomFile(QueryTranslatorImpl.java:203)
位于org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158)
位于org.hibernate.engine.query.spi.HQLQueryPlan.(HQLQueryPlan.java:131)
在org.hibernate.engine.query.spi.HQLQueryPlan.(HQLQueryPlan.java:93)
位于org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:167)
位于org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
位于org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
位于org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1836)
位于org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:328)
... 省略了53个公共框架
[信息]------------------------------------------------------------------------
[信息]建立成功
[信息]------------------------------------------------------------------------
[信息]总时间:28.009秒
[信息]完成时间:2016-10-27T09:18:32+07:00
[信息]最终内存:65M/527M
[信息]-----------------------------------------------------------------------

我在用Mariadb。我不知道发生了什么,请帮帮我!谢谢大家

如果您运行Maven测试,您可以看到:

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: member near line 1, column 17 [select distinct member from com.mycompany.myapp.domain.Member member left join fetch member.userStars]
这是因为成员是JPQL(表达式的成员)中的保留字

只需更改成员实体的名称,它就可以工作。

将“required”替换为“notnull”,将“String maxlength”替换为“VARCHAR”,以及其他一些修饰性的东西。然后是jetison jdl,它似乎在妨碍我们。我看不到任何类似于
索引
主键
,因此我怀疑您稍后会遇到麻烦。