草庐IT

hibernate3

全部标签

java - Hibernate 禁用查询缓存

以下问题:我创建了一个查询来显示MYSQL表的所有条目,如果我编辑一个字段并再次执行查询,我会得到与第一个查询相同的(旧的)结果。Hibernate似乎缓存了Result。我试图禁用缓存query.setCachable(false)"hibernate.cache.use_second_level_cache""cache.provider_class""org.hibernate.cacheable"刷新并关闭session但没有任何作用 最佳答案 我觉得你想要的配置是hibernate.cache.use_query_cach

java - 打开 session 的 Hibernate 异常。我该如何调试呢?

我是hybernate的新手,我正在为以下异常而苦苦挣扎:Exceptioninthread"AWT-EventQueue-0"org.hibernate.HibernateException:illegallyattemptedtoassociateaproxywithtwoopenSessions当我试图删除一个对象(一个订单)时,我得到了这个。我的设置/代码:Order.hbm.xmlsession持有者:publicclassDBSession{privatestaticSessionFactorysessionFactory;static{Configurationcfg=n

java - 慢速 hibernate 刷新

我尝试将我的数据保存到MySql(本地数据库)抛出HibernateTemplate-getHibernateTemplate().execute(newHibernateCallback(){@OverridepublicVoiddoInHibernate(Sessionsession)throwsHibernateException,SQLException{for(TimeInvocationStatisticsstat:statistics){session.persist(stat);}session.persist(workloadProcessDescriptiveSta

java - HIbernate 不能用外键删除实体。外键设置为空

这个问题在这里以多种形式被问到,但似乎没有一个解决方案对我有用。我正在尝试删除父实体,并且我希望所有子实体也被删除。我的实体:@Entity@Table(name="item",catalog="myshchema")publicclassItemimplementsjava.io.Serializable{@JoinColumn(name="item_id",insertable=false,updatable=false,nullable=false)@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER,orphanRem

mysql - 如何在 hibernate 中存储本地时间

我有一个实体,它有一个LocalTime类型的变量,我想将它存储在数据库中。所以我有两个问题:mysql中的字段是什么数据类型?为实体使用什么注解?我根本不关心日期。 最佳答案 hibernate-java8为持久化LocalTime字段提供LocalTimeType。因为hibernate-java8-5.2.+已合并到hibernate-core模块中。用法将LocalTime保存为sql时间列。@ColumnprivateLocalTimetime;将LocalTime保存为sqlvarchar列。@Column(column

java - Hibernate:如何从 ScrollableResults 检索我的实体?

我执行一个返回实体列表的查询。如何从ScrollableResults中检索实体:Sessions=....;Queryq=s.createQuery("....")#returns100000srowsScrollableResultssr=q.scroll();sr.scroll(45999);#justanumberEmployeeemployee=???最后一行代码如何获取员工 最佳答案 试试get(0)方法,或者get()[0] 关于java-Hibernate:如何从Scro

java - hibernate : Foreign key constraint violation problem

我的代码中有一个com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException(使用Hibernate和Spring),我不知道为什么。我的实体是Corpus和Semspace,并且在我的hibernate映射配置中定义了从Semspace到Corpus的多对一关系:[...]产生异常的Java代码是:Corpuscorpus=Spring.getCorpusDAO().getCorpusById(corpusId);Semspacesemspace=newSemspace();semspace.setCorpu

java - 组织.hibernate.StaleStateException : Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

有时候在持久化一个obj的时候,它的某个字段太大,无法放入db字段,导致数据截断异常。在下面的代码中,我trycatchDataException并简单地清空该字段,然后重新保存。但是,我在重新保存时遇到异常。为什么会出现批量更新异常,我该如何解决?publicstaticvoidsave(Objectobj)throwsException{try{beginTransaction();getSession().save(obj);commitTransaction();}catch(Exceptione){e.printStackTrace();rollbackTransaction

java - 错误 : org. hibernate.util.JDBCExceptionReporter - 无法加载 JDBC 驱动程序类 'com.mysql.jdbcDriver'

我正在尝试使用Spring和Hibernate以及MySQL数据库配置JavaMVCwebapp,但是当我运行服务器时出现此错误,我不知道是什么问题。WARN:org.hibernate.util.JDBCExceptionReporter-SQLError:0,SQLState:nullERROR:org.hibernate.util.JDBCExceptionReporter-CannotloadJDBCdriverclass'com.mysql.jdbcDriver'WARN:org.hibernate.cfg.SettingsFactory-Couldnotobtainconn

java - Hibernate:无法执行 native 批量操作查询

我在尝试使用nativeSQL更新数据时遇到此错误。这是我的脚本:updateweight_note_receiptsetpledge_id=:pledgewherewn_idin(:wns)wns是包含超过1个wn_id的字符串,如下所示:222,226,228,251,256,262,263,264,265,266,267,272,281,286,294,296,299,301,302,303,306,307,330,332,333,337,338,339,341,368,371,376,377,378,379,380,381,385,391,397,423,424,443,452