小编Jam*_*ner的帖子

Spring Data JPA存储库抛出空指针

我一直在使用Spring Boot的Spring Data.使用JavaConfig文档,我已经设置了一个Spring JPA配置,但是当我在我的存储库中调用save方法时,会抛出一个空指针.

我的存储库:

import org.springframework.data.jpa.repository.JpaRepository;

public interface HouseRepository extends JpaRepository<House, Long> {
}
Run Code Online (Sandbox Code Playgroud)

我的POJO:

AbstractHouse

@MappedSuperclass
@Table(name="houses")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public abstract class AbstractHouse implements Serializable {

@NotEmpty
private String houseName;

@NotEmpty
private String houseNumber;
Run Code Online (Sandbox Code Playgroud)

屋

@Entity
public class SmallHouse extends AbstractHouse {

@Id
@GeneratedValue
private Long id;

private Date created;

private Date updated;
Run Code Online (Sandbox Code Playgroud)

然后我得到了一个服务对象,它接受一个Autowired存储库并尝试使用通过JPA获得的方法进行保存:

@Service
public class HouseService {

@Autowired
protected HouseRepository houseRepository;

public void save(House house) {
    houseRepository.save(house);
} 
Run Code Online (Sandbox Code Playgroud)

我的应用程序类包含:

@SpringBootApplication
@EnableScheduling
@EnableJpaRepositories
public class Application {

public …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate spring-mvc spring-data-jpa

7
推荐指数
2
解决办法
3万
查看次数

带连接的 Spring Data @Query

我对 Spring Data 相当陌生,我想创建一个查询,允许我在两个实体之间进行内部联接。

我一直在使用这个堆栈溢出来尝试澄清某些方面:

如何使用联接定义 JPA 存储库查询

它给出了构造查询的答案,如下所示:

@Query("select u.userName from User u inner join u.area ar where ar.idArea = :idArea")
Run Code Online (Sandbox Code Playgroud)

然而,在这个查询中,我看不到它在哪里设法定义“ar”,因为两个实体类实际上都没有在它们自己内部定义“ar”?对此的任何澄清将不胜感激!

spring join spring-data spring-data-jpa

6
推荐指数
1
解决办法
3万
查看次数