我在spring webmvc项目上使用spring-data-
jpa。我在一个实体的存储库上使用查询创建时遇到问题。在下面,您可以看到我的实体,我的存储库和异常。
我的实体:
@Entity
@Table(schema = "mainschema")
@XmlRootElement
public class Municipalperson implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(nullable = false)
private Integer id;
@Basic(optional = false)
@Column(name = "municipal_id", nullable = false)
private Integer municipal_id;
@Basic(optional = false)
@Column(nullable = false, length = 60)
private String firstname;
public Municipalperson(Integer id, Integer municipal_id, String firstname) {
this.id = id;
this.municipal_id = municipal_id;
this.firstname = firstname;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getMunicipal_id() {
return municipal_id;
}
public void setMunicipal_id(Integer municipal_id) {
this.municipal_id = municipal_id;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
}
我的资料库:
@Repository
public interface MunicipalpersonRepository extends JpaRepository<Municipalperson, Integer> {
List<Municipalperson> findByMunicipal_idOrderByLastnameDesc(int municipal_id);
}
和例外,
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'municipalpersonRepository': Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property municipal found for type Municipalperson!
我试图将municipal_id
Intory上Integer
的参数设置为int,然后设置为和municipal_id
,但是都没有设置。另外,我将存储库重命名为findByMunicipalidOrderByLastnameDesc
,findByMunicipalIdOrderByLastnameDesc
但也没有用。
最后,我 改名 了municipal_id
以municipalId
(下划线删除),也改名为getter /
setter方法和存储库(findByMunicipalIdOrderByLastnameDesc
),并 在问题得到解决 。
我的问题是为什么会这样?
下划线_
是Spring Data查询派生中的保留字符(有关详细信息,请参见参考文档),以潜在地允许手动描述属性路径。因此,您有两种选择:
_
使用其他下划线来转义,即将查询方法重命名为findByMunicipal__idOrderByLastnameDesc(…)
。我建议使用前者,因为您不会疏远其他Java开发人员:)。
我在一个spring webmvc项目上使用spring-data-jpa。我在使用我的一个实体的存储库创建查询时遇到了一个问题。下面您可以看到我的实体、我的存储库和异常。 我的实体: 我的存储库: 而例外, 最后,我将重命名为(删除下划线),并重命名getters/setters和存储库(),问题得到解决。 我的问题是为什么会发生这种情况?
我在使用JPA时遇到了一些困难。我没有得到任何异常,但我不能保存任何东西到数据库。我从Hibernate到Jpa,在那里一切都工作得很好。下面是我的文件 Application.Properties: 存储库: 服务: 我在提交表单时得到了200的响应,但在数据库中找不到数据
我有一个简单的类客户端: ,clientrepository: ,ClientrepositoryCustom: 我在选择名字方面有哪一级的自由?这可能吗?是否有一个触发词,如果我想要一个与我实体的属性无关的名称,我必须使用它? 如果我查询两个属性。似乎我可以编写类似这样的方法,但我不希望有一个带有与方法名无关的附加参数的方法。 提前感谢,任何反馈都很感激!
我希望像查询NodeEntity一样查询RelationshipEntity。 软件包信息: 此存储库不工作。 getEmployeeWorkingOnProject(String,String)返回NULL 我在关键字之后进行了修改,例如将其从修改为像这样的别名,并且还尝试更改了返回中别名的顺序。 我希望获得与特定员工和特定项目相关联的所有状态(边缘)。 或 或其他类型的类似结果,其中关系实体持
一:如果我跨多个实体执行操作,该怎么办:我使用哪个存储库?第二:Spring Data Jpa是否允许没有任何类型参数的存储库?
我创建了一个基本的Spring MVC / JPA / Hibernate应用程序。我试图保存一个UserProfile实体来测试我是否真的可以持久化它,但是什么也没有保存,也没有抛出异常。 在控制器方法中,我创建了一个简单的UserProfile(这是一个@Entity),并将其发送到服务方法。类使用 @Service 对类进行批注,并使用 @Transactional 对 addUserPro