应用:Spring防尘套
我试图用SqlResultSetMapping和NamedNativeQuery将非实体类映射到JPA存储库。
运行应用程序时出现以下错误:
通过字段'cityAddressRepository'表示不满足的依赖关系;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名称为'cityAddressRepository'的bean时出错:调用init方法失败;嵌套异常是java.lang.IllegalArgumentException:不是托管类型:类com.city.strom.core.domain.CityAddressEntity atorg.springframework.beans.factory.annotation.AutowiredAnNotationBeanPost处理器$AutowiredFieldElement.inject(AutowiredAnNotationBeanPostProcessor.java:573)~[sping-bean-5.0.0.0. RC1.jar:5.0.0. RC1]
任何帮助都将被指定,我的实施中有什么问题吗
城市地址。Java语言
public class CityAddress {
private static final long serialVersionUID = -4860426805452667396L;
private Integer objectid;
private String streetname;
private String streetnumber;
public Integer getObjectid() {
return objectid;
}
public void setObjectid(Integer objectid) {
this.objectid = objectid;
}
public String getStreetname() {
return streetname;
}
public void setStreetname(String streetname) {
this.streetname = streetname;
}
public String getStreetnumber() {
return streetnumber;
}
public void setStreetnumber(String streetnumber) {
this.streetnumber = streetnumber;
}
}
城市地址本质。Java语言
@Entity
@SqlResultSetMapping(
name="cityaddressmap",
entities={
@EntityResult(
entityClass=CityAddress.class,
fields={
@FieldResult(name="objectid", column="ID"),
@FieldResult(name="streetnumber", column="STREETNUMBER"),
@FieldResult(name="streetname", column="STREETNAME")
}
)
}
)
@NamedNativeQuery(
name="CityAddressEntity.AllCityAddresses",
query="select OBJECTID, ADD_NUM STREETNUMBER, trim(ADD_STREET || ' ' || ADD_STREET_TYPE) STREETNAME from SWPF_PARCEL_V;",
resultSetMapping="cityaddressmap")
public class CityAddressEntity implements Serializable{
private static final long serialVersionUID = -4860426805452667396L;
public CityAddressEntity()
{
}
}
城市地址epository.java
public interface CityAddressRepository extends JpaRepository<CityAddressEntity, Long>{
@Query(name="CityAddressEntity.AllCityAddresses")
public List<CityAddress> AllCityAddresses();
}
CityAddress不是实体,请使用targetClass而不是entityClass。试试这样:
@SqlResultSetMapping(
name="cityaddressmap",
classes={
@ConstructorResult(
targetClass=CityAddress.class,
columns={
@FieldResult(name="ID", type=Integer.class),
@FieldResult(name="STREETNUMBER", type=String.class),
@FieldResult(name="STREETNAME", type=String.class)
}
)
}
)
并将构造函数添加到CityAddress
public class CityAddress {
private Integer objectid;
private String streetname;
private String streetnumber;
public CityAddress(Integer objectid, String streetname, String streetnumber) {
this.objectid = objectid;
this.streetname = streetname;
this.streetnumber = streetnumber;
}
问题内容: 我正在尝试使用@SqlResultSetMapping和@ConstructorResult将本机查询的结果映射到POJO。这是我的代码: 然后在我的DAO中: 我已经读到JPA 2.1仅支持此功能,但这就是我正在使用的功能。这是我的依赖项: 我发现了一些资源,其中包括:jpa2.1中的@ConstructorResult映射。但是我仍然没有运气。 我想念什么?为什么找不到SqlRes
我正在尝试使用@SQLResultSetMapping和@ConstructorResult将本机查询的结果映射到POJO。下面是我的代码: 我找到了一些参考资料,其中包括JPA2.1中的@ConstructorResult映射。但我还是没有运气。 我错过了什么?为什么找不到SqlResultSetMapping?
如何在Spring Data Jpa中将映射映射到存储库中的查询? 下面是我的通用存储库源代码。 如下所示,我希望接收queryParams作为参数,并将queryParams对应的键和值映射到where子句。 因为它是一个GenericRepository,所以无法实现,我想把映射的内容放在@Query中。 我一直在搜索,但我找不到任何关于它的信息,所以我不知道如何解决这个问题。 如果有办法,请
我不是JPA/Hibernate方面的专家,我真的不知道我试图实现的是不可能实现的还是我做错了,既然我预计是后者,这里就什么也不做了。 我有一个map ,我正试图将其持久化到一个表中,并遵循了这里描述的示例:使用JPA存储map 但随后我得到一个HibernateException:列值的STATE_MAP中的列类型错误。找到:bigint,应为:char(255) 当我将bigint更改为cha
问题内容: 我一直在研究一个非常简单的JPA示例,并试图将其调整为现有数据库。但是我无法克服这个错误。(下面。)这只是我没看到的一些简单的事情。 在下面的DocumentManager类中(一个简单的servlet,因为这是我的目标),它做了两件事: 插入一行 返回所有行 插入效果很好-一切都很好。问题出在检索上。我尝试了各种参数值,但没有走运,并且尝试了各种更复杂的类注释(如列类型),但都没有成