我有一个本机SQL查询如下: for(init i=0; i <=2 ; i++){ String sql = "Select * from accounts where id = ?"; Query query = em.createNativeQuery(sql,AccountBean.class); query.setParameter(1, i ); AccountBean accountBean = (AccountBean)query.getSingleResult(); } 对于第一个循环,它工作正确,但第一个循环后的任何循环返回相同的结果到第一个,我调试它,参数更改,如果我更改它的工作正确 Query query = em.createNativeQuery(sql,AccountBean.class); 至 Query query = em.createNativeQuery(queryString); 关心Wish79
我正在尝试使用hibernate建立与数据库的简单连接。 这是我的配置文件: org.hsqldb.jdbcDriver jdbc:hsqldb:hsql://localhost user pass 1 org.hibernate.dialect.HSQLDialect thread org.hibernate.cache.internal.NoCacheProvider true update 我收到以下错误: Exception in thread “main” org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number 6 and column 26 in RESOURCE hibernate.cfg.xml. Message: cvc-elt.1: Cannot find the declaration of element ‘hibernate-configuration’. … 似乎有点不合逻辑。 因为我将’hibernate-configuration’作为hibernate.cfg.xml文件中的根元素。 我正在使用Hibernate 4.1.1(刚才提到,因为我已经得到一些提示,新的hibernate可能会有一些问题) 希望有人可以提供帮助,因为我是Hibernate的新手,现在我也没有得到谷歌的任何重大帮助。
我在存储库类中有一个标记为@Transactional ,正在堆栈跟踪中看到正在执行的方面,但抛出的exception是“Transaction required exception” 我将@Repository注释更改为@Component (似乎它在某些情况下解决了这个问题),但它仍然在Web角色上发生。 这是堆栈跟踪: 2015-04-13 08:00:56,497 [http-nio-8080-exec-9] WARN es.mycompany.util.filters.MyFilter – Error storing : /admin/online/update org.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:410) at org.springframework.orm.jpa.aspectj.JpaExceptionTranslatorAspect.ajc$afterThrowing$org_springframework_orm_jpa_aspectj_JpaExceptionTranslatorAspect$1$18a1ac9(JpaExceptionTranslatorAspect.aj:37) at es.mycopmany.dao.MyDAO.updateLastUpdatedTs_aroundBody2(MyDAO.java:36) at es.mycopmany.dao.MyDAO$AjcClosure3.run(MyDAO.java:1) at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96cproceed(AbstractTransactionAspect.aj:66) at org.springframework.transaction.aspectj.AbstractTransactionAspect$AbstractTransactionAspect$1.proceedWithInvocation(AbstractTransactionAspect.aj:72) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:70) at es.mycompany.dao.MyDAO.updateLastUpdatedTs(MyDAO.java:31) 以下是抛出exception的代码: @Transactional public void updateLastUpdatedTs(String id, Calendar […]
我想通过注释@Query通过Jpa存储库创建一个Join查询我有三个表。 原生查询是: select application.APP_ID from user, customer, application where user.USE_CUSTOMER_ID = customer.CUS_ID and application.APP_CUSTOMER_ID = customer.CUS_ID and user.USE_ID=1; 现在我有了Table Hibernate实体,所以我在ApplicationRepository中尝试过 @Query(SELECT application FROM Application a INNER JOIN customer c ON c.customer.id = a.customer.id INNER JOIN user u ON u.customer.id = c.customer.id INNER JOIN application a ON a.user.id = u.id WHERE u.id = :user.id) List findApplicationsByUser(@Param(“User”) […]
在这些日子里,我正在努力使用Hibernate实体和JSON,尽管有很多关于该对象的问题,但我还是无法在存在循环依赖性的情况下进行序列化。 我和Gson和jackson都试过了,但我没有取得很多进展。 这是我的对象的摘录。 这是“父”类。 @Entity public class User extends RecognizedServerEntities implements java.io.Serializable { @Id @GeneratedValue(strategy = IDENTITY) @Column(name = “id”, unique = true, nullable = false) private Integer id; @OneToMany(fetch = FetchType.LAZY, mappedBy = “user”, orphanRemoval = false) @Cascade({CascadeType.SAVE_UPDATE}) private Set threads = new HashSet(0); //…other attributes, getters and setters } 这就是“儿童”课程 @Entity @Table(name = […]
在hibernate中是否有任何方法可以将实体的列注释为字符串小写? 我的意思是例如 @Entity public class User { @Column private String username; } 我希望hibernate在没有绑定到特定数据库的所有查询中将用户名转换为小写。
我正在开发Spring,MySQL和Hibernate项目,如果项目在8小时内没有使用,我会收到以下错误。 有人可以告诉我为什么。 看起来如果我重启服务器一切都很好,直到晚上或者如果没有人在中午使用系统几个小时。 有人请帮助我,我刚刚在我的一些项目中发现了这个问题所以我必须在许多项目中犯同样的错误..请帮忙 这是我的java代码的一个例子,我错过了一些东西: public void saveVisit(VisitModel visit) throws Exception { LOGGER.debug(“[” + visit.toString() + “]”); sessionFactory.getCurrentSession().saveOrUpdate(visit); } @SuppressWarnings(“unchecked”) public School_lookupModel getSchoolInformation(String schoolCode) { return (School_lookupModel) sessionFactory.getCurrentSession() .createCriteria(School_lookupModel.class) .add( Restrictions.like(“school”, schoolCode)) .uniqueResult(); } 以下是错误的控制台输出: 2012-09-06 08:00:07,088 [http-8080-2] WARN org.hibernate.util.JDBCExceptionReporter – SQL Error: 0, SQLState: 08S01 2012-09-06 08:00:07,088 [http-8080-2] ERROR org.hibernate.util.JDBCExceptionReporter – Communications link failure […]
我想对两个持久化类进行组合查询。 在HQL中,这可以通过select子句来实现, select new Family(mother, mate, offspr) from DomesticCat as mother join mother.mate as mate left join mother.kittens as offspr 在上面的例子中,Family是一个联合类,DemesticCat作为它的construtor params 什么是HQL select子句的Criteria等价物?
我正在尝试执行此查询:代码: this.getHibernateTemplate() find(“select distinct ci.customer ” + “from CustomerInvoice ci ” + “where ci.id in (?) ” , ids); 使用ID作为List,id是Long类型 执行时我得到例外 码: java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.Long at org.hibernate.type.LongType.set(LongType.java:42) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:136) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:116) at org.hibernate.param.PositionalParameterSpecification.bind(PositionalParameterSpecification.java:39) at org.hibernate.loader.hql.QueryLoader.bindParameterValues(QueryLoader.java:491) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1563) at org.hibernate.loader.Loader.doQuery(Loader.java:673) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) at org.hibernate.loader.Loader.doList(Loader.java:2220) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104) at org.hibernate.loader.Loader.list(Loader.java:2099) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338) […]
我是Hibernate的新手。 我试图编写一个小程序来将数据插入到mysql数据库服务器中。 这是我的程序的源代码: private int insertRelateNew(int newId, List relateNews) { Session session = HibernateUtils.currentSession(); Transaction tx = session.beginTransaction(); RelatedArticles relatedArticles = null; try { relatedArticles = new RelatedArticles(); for (DocSimilar doc : relateNews) { ApplicationPK appPK = new ApplicationPK(newId, (int) doc.getDocid()); relatedArticles.setApplicationPK(appPK); relatedArticles.setRelated_score(doc.getPercent()); session.save(relatedArticles); tx.commit(); session.flush(); } } catch (Exception e) { e.printStackTrace(); tx.rollback(); } […]