Spring jhipster在现有实体中添加新属性
我正在使用jhipster 4.0.0,我首先创建了两个实体Spring jhipster在现有实体中添加新属性,spring,spring-boot,jhipster,Spring,Spring Boot,Jhipster,我正在使用jhipster 4.0.0,我首先创建了两个实体 @Entity @Table(name = "organization") @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) public class Organization implements Serializable { private static final long serialVersionUID = 1L; @Id
@Entity
@Table(name = "organization")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Organization implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "orgname")
private String orgname;
@Column(name = "orgaddress")
private String orgaddress;
@OneToMany(mappedBy = "organization")
@JsonIgnore
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
private Set<Branch> branches = new HashSet<>();
//geter()
//setter()
}
这两个工作正常,现在我将名为Active的新属性添加到组织实体中,如
>yo jhipster:entity organization
? Do you want to update the entity? This will replace the existing files for this entity, all your custom code will be overwritten Yes, add more fields and relationshi
================= Organization =================
Fields
orgname (String)
orgaddress (String)
Relationships
branch (Branch) one-to-many
Generating field #3
? Do you want to add a field to your entity? Yes
? What is the name of your field? active
? What is the type of your field? String
? Do you want to add validation rules to your field? No
================= Organization =================
Fields
orgname (String)
orgaddress (String)
active (String)
Relationships
branch (Branch) one-to-many
Generating field #4
? Do you want to add a field to your entity? No
================= Organization =================
Fields
orgname (String)
orgaddress (String)
active (String)
Relationships
branch (Branch) one-to-many
Generating relationships to other entities
? Do you want to add a relationship to another entity? No
================= Organization =================
Fields
orgname (String)
orgaddress (String)
active (String)
Relationships
branch (Branch) one-to-many
conflict .jhipster\Organization.json
? Overwrite .jhipster\Organization.json? overwrite
force .jhipster\Organization.json
conflict src\main\resources\config\liquibase\changelog\20170209093838_added_entity_Organization.xml
? Overwrite src\main\resources\config\liquibase\changelog\20170209093838_added_entity_Organization.xml? overwrite
force src\main\resources\config\liquibase\changelog\20170209093838_added_entity_Organization.xml
conflict src\main\java\com\icarat\domain\Organization.java
? Overwrite src\main\java\com\icarat\domain\Organization.java? overwrite
force src\main\java\com\icarat\domain\Organization.java
identical src\main\java\com\icarat\repository\OrganizationRepository.java
identical src\main\java\com\icarat\web\rest\OrganizationResource.java
identical src\main\java\com\icarat\service\OrganizationService.java
identical src\main\java\com\icarat\service\impl\OrganizationServiceImpl.java
conflict src\main\java\com\icarat\service\dto\OrganizationDTO.java
? Overwrite src\main\java\com\icarat\service\dto\OrganizationDTO.java? overwrite
force src\main\java\com\icarat\service\dto\OrganizationDTO.java
identical src\main\java\com\icarat\service\mapper\OrganizationMapper.java
conflict src\test\java\com\icarat\web\rest\OrganizationResourceIntTest.java
? Overwrite src\test\java\com\icarat\web\rest\OrganizationResourceIntTest.java? do not overwrite
skip src\test\java\com\icarat\web\rest\OrganizationResourceIntTest.java
identical src\main\resources\config\liquibase\master.xml
identical src\main\resources\ehcache.xml
conflict src\main\webapp\app\entities\organization\organization.component.html
? Overwrite src\main\webapp\app\entities\organization\organization.component.html? do not overwrite
skip src\main\webapp\app\entities\organization\organization.component.html
conflict src\main\webapp\app\entities\organization\organization-detail.component.html
? Overwrite src\main\webapp\app\entities\organization\organization-detail.component.html? overwrite
force src\main\webapp\app\entities\organization\organization-detail.component.html
conflict src\main\webapp\app\entities\organization\organization-dialog.component.html
? Overwrite src\main\webapp\app\entities\organization\organization-dialog.component.html? do not overwrite
当我运行我的项目时
./mvnw
它显示了类似于
liquibase.exception.ValidationFailedException: Validation Failed:
1 change sets check sum
classpath:config/liquibase/changelog/20170209093838_added_entity_Organization.xml::20170209093838-1::jhipster was: 7:2b47689e3924d85d502e6150230cd184 but is now: 7:74e4a48710ed8eaf27e2a0231f7d23a9
我也试着用这个给出的所有解
当我运行mvn liquibase:diff after change时,我会这样做
Settings
----------------------------
[INFO] driver: com.mysql.jdbc.Driver
[INFO] url: jdbc:mysql://localhost:3306/jhipster2
[INFO] username: root
[INFO] password: *****
[INFO] use empty password: false
[INFO] properties file: null
[INFO] properties file will override? false
[INFO] prompt on non-local database? true
[INFO] clear checksums? false
[INFO] changeLogFile: src/main/resources/config/liquibase/master.xml
[INFO] context(s): null
[INFO] label(s): null
[INFO] referenceDriver: null
[INFO] referenceUrl: hibernate:spring:com.icarat.domain?dialect=org.hibernate.dialect.MySQL5InnoDBDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
[INFO] referenceUsername: null
[INFO] referencePassword: null
[INFO] referenceDefaultSchema: null
[INFO] diffChangeLogFile: src/main/resources/config/liquibase/changelog/20170209102144_changelog.xml
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.058 s
[INFO] Finished at: 2017-02-09T15:51:48+05:30
[INFO] Final Memory: 18M/49M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:3.5.3:diff (default-cli) on project jhipster-2: Error setting up or running Liquibase: liquibase.exception.DatabaseException: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO) -> [Help 1]
有人能帮我吗您需要为liquibase maven插件在pom.xml中设置数据库用户名和密码当我们为liquibase maven插件在pom.xml中更改数据库用户名和密码时,您需要为liquibase maven插件在pom.xml中设置数据库用户名和密码
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>${liquibase.version}</version>
<configuration>
<changeLogFile>src/main/resources/config/liquibase/master.xml</changeLogFile>
<diffChangeLogFile>src/main/resources/config/liquibase/changelog/${maven.build.timestamp}_changelog.xml</diffChangeLogFile>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost:3306/jhipsternew</url>
<defaultSchemaName>jhipsternew</defaultSchemaName>
<username>root</username>
<password>################</password>
<referenceUrl>hibernate:spring:com.icarat.domain?dialect=org.hibernate.dialect.MySQL5InnoDBDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</referenceUrl>
<verbose>true</verbose>
<logging>debug</logging>
</configuration>
<dependencies>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.18.2-GA</version>
</dependency>
<dependency>
<groupId>org.liquibase.ext</groupId>
<artifactId>liquibase-hibernate5</artifactId>
<version>${liquibase-hibernate5.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
</dependencies>
</plugin>
在src/main/resources/config/liquibase/changelog目录中创建新的“更改日志”之后。该目录中的文件以其创建日期(yyyyMMddHHmmss格式)作为前缀,然后有一个标题描述它们的工作。例如,20141006152300_将_price_添加到_product.xml是一个好名字。在您的src/main/resources/config/liquibase/master.xml文件中添加此“更改日志”文件,以便在下次运行应用程序时应用此文件,如果您想了解有关使用liquibase的更多信息,请参阅我们在pom.xml中为liquibase maven插件更改数据库用户名和密码
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>${liquibase.version}</version>
<configuration>
<changeLogFile>src/main/resources/config/liquibase/master.xml</changeLogFile>
<diffChangeLogFile>src/main/resources/config/liquibase/changelog/${maven.build.timestamp}_changelog.xml</diffChangeLogFile>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost:3306/jhipsternew</url>
<defaultSchemaName>jhipsternew</defaultSchemaName>
<username>root</username>
<password>################</password>
<referenceUrl>hibernate:spring:com.icarat.domain?dialect=org.hibernate.dialect.MySQL5InnoDBDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</referenceUrl>
<verbose>true</verbose>
<logging>debug</logging>
</configuration>
<dependencies>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.18.2-GA</version>
</dependency>
<dependency>
<groupId>org.liquibase.ext</groupId>
<artifactId>liquibase-hibernate5</artifactId>
<version>${liquibase-hibernate5.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
</dependencies>
</plugin>
在src/main/resources/config/liquibase/changelog目录中创建新的“更改日志”之后。该目录中的文件以其创建日期(yyyyMMddHHmmss格式)作为前缀,然后有一个标题描述它们的工作。例如,20141006152300_将_price_添加到_product.xml是一个好名字。将此“更改日志”文件添加到src/main/resources/config/liquibase/master.xml文件中,因此,如果您想了解有关使用Liquibase的更多信息,请在下次运行应用程序时应用它。感谢mvn Liquibase:diff现在已成功构建。但当我再次运行时,它会显示相同的错误,错误描述如下:com.icarat.service.impl.BranchServiceImpl中构造函数的参数1需要找不到类型为“com.icarat.service.mapper.BranchMapper”的bean操作:考虑在配置中定义类型为“com.icarat.service.mapper.BranchMapper”的bean。我是否应该删除表并需要再次创建Mapper错误源于MapStruct未运行,BranchApperImpl是在运行
mvnw
或mvnw compile
时生成的,感谢mvn liquibase:diff现在已成功构建。但当我再次运行时,它会显示与错误相同的错误,如描述:Parametercom.icarat.service.impl.BranchServiceImpl中构造函数的1需要找不到类型为“com.icarat.service.mapper.BranchMapper”的bean操作:考虑在配置中定义类型为“com.icarat.service.mapper.BranchMapper”的bean。如果我删除表并需要再次创建,Mapper错误来自未运行的MapStruct,BranchApperImpl是在您运行mvnw
或mvnw compile
时生成的,删除类路径似乎是一个坏主意,我无法理解当打包为war时,您的应用程序如何在启动时找到您的Liquibase迁移。您在prod profile中测试过它吗?您不需要运行/mvw liquibase:update
迁移在应用程序启动时由应用程序执行,这就是为什么需要类路径:
。删除类路径似乎不是个好主意,我无法理解,当打包为war时,你的应用程序如何在启动时找到你的Liquibase迁移。您在prod profile中测试过吗?您不需要运行/mvw liquibase:update
迁移在应用程序启动时由应用程序执行,这就是为什么需要类路径:
。
./mvnw liquibase:clearCheckSums
./mvn liquibase:diff