java - 使用hibernate和java的Mysql查询出错
问题描述
mysql查询
sql = new StringBuilder("SELECT * FROM table_name WHERE userId = :userId AND deleteFlag = 0 "
+ "AND YEAR(NOW()) = YEAR(CreatedDate) ");
sql.append("ORDER BY Id ");
query = getSession().createSQLQuery(sql.toString());
query.addEntity(table_name.class);
query.setParameter("userId", userId);
Error performing load command: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.scotts.beans.model.User#4127404]
at org.hibernate.impl.SessionFactoryImpl$2.handleEntityNotFound(SessionFactoryImpl.java:435) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:233) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.type.EntityType.resolve(EntityType.java:438) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:139) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:982) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.loader.Loader.doQuery(Loader.java:857) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.loader.Loader.doList(Loader.java:2542) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.loader.Loader.list(Loader.java:2271) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:316) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1842) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:157) [hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at com.scotts.dao.impl.UserLawnProfileDAOImplV2.getLawnProfile(UserLawnProfileDAOImplV2.java:189) [classes:]
模型
public class UserProgramRecommendationV2 implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
Integer id;
@Column(name="UserId")
private Long userId;
}
签入数据库中的所有行都与模型中定义的行匹配。
解决方案
问题是
User#4127404
在模型中的某个地方,您有一个与 withX
关联的类。数据库中没有具有此类 id 的。User
id
4127404
User
推荐阅读
- sublimetext3 - How to change Sublime Text 3 default notes sign?
- qt - 来自 QModelIndex 的 QPersistentModelIndex
- owasp - How can I can list of alerts associated with scan rules in OWASP ZAP?
- kotlin - kotlin中的Flywaydb错误
- mysql - SQL query for FIND and REPLACE with if condition
- rest - What if you make a PUT request and there is no such entity on server?
- c# - EPPlus 将逗号视为点
- c# - Wpf - 如何使图片框全视图
- python-2.7 - 如果在odoo8中的on2many中选择相同的产品,如何引发异常
- python - Use function globally or locally?