- 36
- 0
1.因需要查询实体表中的code,name两个字段,百度说可以自定义查询实体类如:
public class Entity implements Serializable(){
String code ;
String name ;
...
public Entity (String code, String name) {
super();
this.code = code;
this.name = name;
}
}
sql语句
@Query(value = "select new com.Vo.Entity(code,name) FROM user")
List<Entity> selectEntity();
这样就能将数据库查询的user表中的code和name字段自动添加到entity实体中,现在保错如下:
2018-08-31 18:44:45.113 DEBUG 8528 --> [nio-8080-exec-2] [
org.hibernate.SQL] : select new com.Vo.Entity(code,name) FROM user
2018-08-31 18:44:45.448 WARN 8528 --> [nio-8080-exec-2] [
o.h.engine.jdbc.spi.SqlExceptionHelper] : SQL Error: 923, SQLState:
42000 2018-08-31 18:44:45.452 ERROR 8528 --> [nio-8080-exec-2] [
o.h.engine.jdbc.spi.SqlExceptionHelper] : ORA-00923: 未找到要求的 FROM 关键字
明明是有from的为什么报未找到From关键字呢?
- 共 0 条
- 全部回答
-
听一曲离殇 普通会员 1楼
在Spring Data Jpa框架中,如果你需要自定义查询语句返回自定义实体,你可以使用JPA的
Query接口或者QueryDSL模式。- 使用JPA的
Query接口
如果你只是简单地在你的查询语句中使用了自定义的实体,那么你只需要使用
@Query注解来指定你的查询语句。例如:java @Query("SELECT t FROM MyEntity t WHERE t.id = :id") List<MyEntity> findAllById(@Param("id") Long id);在这个例子中,
@Query注解告诉JPA这个查询语句是在MyEntity实体上进行的。- 使用
QueryDSL模式
如果你的查询语句需要更复杂的逻辑,你可以使用
QueryDSL模式。首先,你需要创建一个Query类,然后在这个类中实现你的查询逻辑。例如:```java @Query("SELECT t FROM MyEntity t WHERE t.id = :id") List
findAllById(@Param("id") Long id); public class MyEntityQuery implements Query { @Override public void build(List
在这个例子中,
MyEntityQuery实现了Query接口,它实现了build方法。在这个方法中,我们创建了一个MyEntity对象,并将其id设置为查询参数id。然后,你可以在你的服务类中使用这个查询类:
```java @Service public class UserService { private final MyEntityQuery query;
@Autowired public UserService(MyEntityQuery query) { this.query = query; } public List<MyEntity> findAllById(Long id) { return query.findAllById(id); }} ```
在这个例子中,
UserService类使用了MyEntityQuery查询类。当我们调用findAllById方法时,JPA会自动调用query.findAllById方法,并将查询结果作为参数传递给它。 - 使用JPA的
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

