我正在使用SpringBoot和JPA开发RESTfullWeb服务,但我遇到了一些类似的问题
[错误]执行目标org.springframework.boot失败:sping-boo-maven-plugin:1.5.3。释放:运行(default-cli)在项目SpringRest:一个异常发生在运行时。null: InvocationTargetExcture:错误创建bean与名称'entityManagerFactory'定义在类路径资源[org/spring框架/引导/自动配置/orm/jpa/HibernateJpaAutoConfiguration.class]:调用init方法失败;嵌套异常是<#################################################################################################################
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- JSTL for JSP -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- For JSP compilation -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
实体
@Entity
@Table(name="DEPARTMENT")
public class Department {
@Id
@Column(name="Id",nullable=false,unique=true)
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@Column(name="Description",nullable=false)
private String description;
@OneToMany(mappedBy = "department", cascade = CascadeType.ALL)
private List<Employee> employees;
public Department() {
// TODO Auto-generated constructor stub
}
@Entity
@Table(name="EMPLOYEE")
public class Employee {
@Id
@Column(name="Id",nullable=false,unique=true)
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
@Column(name="Name",nullable=false)
private String name;
@Column(name="Surname",nullable=false)
private String surname;
@Column(name="Salary",nullable=false)
private double salary;
@Column(name="Department" , nullable=false)
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "Id",referencedColumnName="Id")
private Department department;
public Employee() {
// TODO Auto-generated constructor stub
}
仓库
import com.maven.nurcanyilmaz.models.Employee;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@RepositoryRestResource
public interface EmployeeRepository extends CrudRepository<Employee, Long> {
Employee findByName(String name);
}
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
import com.maven.nurcanyilmaz.models.Department;
@RepositoryRestResource
public interface DepartmentRepository extends CrudRepository<Department, Long> {
Department findByName(String name);
}
应用性质
spring.mvc.view.prefix: /WEB-INF/
spring.mvc.view.suffix: .jsp
server.port=8088
spring.datasource.url = jdbc:mysql://localhost:3306/EmployeeDb
spring.datasource.username =root
spring.datasource.password =test
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
# Show or not log for each sql query
spring.jpa.show-sql = true
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = create-drop
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
server.error.whitelabel.enabled=false
正如错误描述所示,您不应该在@ManyToOne
属性上添加@Column
注释@JoinColumn
就是您所需要的。
请参考https://en.wikibooks.org/wiki/Java_Persistence/ManyToOne
Hibernate不允许将@ColVIII
注释与@ManyToOne
一起使用。
如果要指定列名,可以使用@JoinColumn
在私人部门部门的员工实体中,您同时使用@列和@连接列,这似乎是个问题。查看您的实体时,您应该在那里使用@JoinColiv,而不是@Colsta。
我是android开发的新手,我正在尝试创建一个自定义的适配器,为RecyclerView提供一个只包含一个图像和一个文本视图的视图。 但是,我试图为onBindViewHolder(VH,int)定义一个简单的扩展ViewHolder,而Android studio根本不会采用自定义ViewHolder,'MyViewHolder' - 说“该方法不会覆盖其超类中的方法。 如果我把参数变成一个普
我需要使用 restlet 客户端放置以下 rest 请求: 我可以在一个单独的调用中获取XToken,但是在当前的调用中,我无法在我的ClientResource对象中设置“Authorization”头。 有人可以建议我需要为我拥有的以下代码行添加哪些代码: 在restlet中创建和添加“Authorization”标头会导致restlet客户端库中出现错误。 提前谢谢 阿希什·夏尔马
问题内容: 我创建了 Objective C头文件 。并在其中添加了一些属性。 我 在文件中 声明 我在 Bridging-Header 文件中将此文件定义为 现在,当我想在某些 swift 文件中使用此属性时,构建失败,并且我正在 架构armv7的未定义符号:“ _ kColor005C98”,引用自: 我不知道我还需要做什么,所以我不会收到此错误?(我已经在其他 目标C 文件中成功使用了此属性
我正在尝试学习自定义验证。下面是简单的代码: 当我试图通过rails控制台插入数据时, 2.3.0 :014 它让我插入数据。我应该做些什么来使我的自定义验证方法起作用?
问题内容: 我正在尝试在表格中添加序列号。这是我的方法: 为什么此方法给我一个错误,而我的结果集已设置为可更新。我正在使用derby数据库。 问题答案: 根据Derby文档,带有的查询不可更新: 只有简单的单表SELECT游标才可以更新。可更新ResultSet的SELECT语句与可更新游标的SELECT语句具有相同的语法。生成可更新的游标: 该语句不能包含子句。 基础查询必须是SelectExp
我正在测试一个用Java和spring boot写的应用程序,我有一个问题。我的测试模拟一个HTTP请求,该请求只有在数据放置在头中时才有效。这是我的简单测试的代码: 不幸的是这次测试失败了。用于测试的Java代码如下: 在实际操作中,似乎找不到应该从请求头中取出的字符串!因此,测试只评估else分支,实际上在stacktrace中也告诉我,测试希望状态已创建,但状态302已给出。既然应用程序(没