草庐IT

Hibernate

全部标签

java - 如何避免过时的 MySQL/Hibernate 连接(MySQLNonTransientConnectionException)

我有一个使用Hibernate和MySQL的Javawebapp。如果网站几天不使用,MySQL连接就会失效,我会遇到以下异常:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Connection.close()hasalreadybeencalled.Invalidoperationinthisstate.根据使用原始JDBC的经验,可以配置连接以尝试从错误或失效连接中恢复,但我不知道如何使用Hibernate执行此操作。我并没有明确地在任何地方调用close()(但我敢打赌Hibernate会

java - Hibernate 条件按时间戳中的日期对结果进行分组

我有一个带有时间戳列的表,我想创建Hibernate标准投影,以便仅按时间戳列中的日期对结果进行分组(数据库中的结果是YYYY-MM-DDHH:mm:ss)。我知道我必须使用Projection.sqlGroupProjection,但不确定是否很热。此外,是否可以为MySQL和Oracle编写相同的投影? 最佳答案 您可以尝试在sqlGroupProjection中使用date函数:Projections.sqlGroupProjection("date(timestampField)asmyDate","myDate",newS

java - 使用@GeneratedValue(strategy=GenerationType.TABLE),sequence_next_hi_value 是一个 int(11) 但我的表有一个 id 列 bigint(20)

我将@Id与@GeneratedValue(strategy=GenerationType.TABLE)一起使用,只是检查了hibernate是否创建了一个表hibernate_sequences,但是sequence_next_hi_value的列类型是一个int(11)。我有一些具有bigint(20)类型的id字段的实体(我的意思是表),这行得通吗?当我的表达到我期望的行数时?谢谢 最佳答案 (...)hibernatehascreatedatablehibernate_sequences,butthecolumntypefo

java - JPA 中的参数化查询出现 "org.hibernate.QueryException: Unable to resolve path..."错误

我在参数化SQL查询的以下方法的第一个参数上遇到问题:lista=miDao.find("SELECTcFROMIdiomaWHEREc.palabra=:param",o1,entityManager);哪里:Stringo1="playa";Listlista;“Idioma”表有3列“palabra”、“idioma”和“wordId”。该方法应在“palabra”列中查找单词“playa”并调用以下Dao方法:@SuppressWarnings("unchecked")publicListfind(StringqueryString,Objectparam,EntityMana

java - JPA 在 MySQLIntegrityConstraintViolationException 中插入父/子结果

这个问题已经被问过很多次了,但我没有找到任何好的答案,所以我会再问一次。我有如下的父子单向关系:@Entity@Table(name="PARENT")publicclassParent{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="ID")privateLongparentId;@OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.PERSIST)@JoinTable(name="CHILD",joinColumns=@JoinColumn(nam

mysql - Hibernate 命名查询 - 连接 3 个表

我有3个bean:组织、角色、用户角色-组织关系-@ManyToOne角色-用户关系-@ManyToMany组织:@Entity@Table(name="entity_organization")publicclassOrganizationimplementsSerializable{privatestaticfinallongserialVersionUID=-646783073824774092L;@Id@GeneratedValue(strategy=GenerationType.TABLE)Longid;Stringname;@OneToMany(targetEntity=R

java - org.hibernate.hql.internal.ast.QuerySyntaxException : table is not mapped [from table]

我正在尝试通过MySQL学习使用Hibernate,在一系列错误之前和之后我从未使用过它,我最终陷入了困境:Exceptioninthread"main"org.hibernate.hql.internal.ast.QuerySyntaxException:countryisnotmapped[fromcountry]atorg.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:180)atorg.hibernate.hql.inter

java - TransactionManager read-only=true 不适用于 mysql ReplicationDriver

我们正在使用com.mysql.jdbc.ReplicationDriver连接主/从。我们配置transactionManager如下。我将只读参数设置为true,但它没有将java.sql.Connection.setReadonly()方法设置为true。所有读取的查询仍然来到主服务器。类似问题有一个Unresolved问题here.有没有人能解决这个问题? 最佳答案 我的建议是围绕@Transactional注释编写切面,获取当前运行的session然后调用doWork(Workwork)→并设置connection.set

mysql - 如何使用 Play、Hibernate 和 MySql 设置每个 session 的事务隔离级别

对某些类型的Web请求进行可重复读取可能很有用,而其他类型的请求则最容易通过读取提交来实现。我如何指定每个Http请求或每个session或每个事务使用哪个隔离级别? 最佳答案 Hibernate有一个数据库事务的实现,默认是JDBCTransaction(另一个是JTA)。也许这会有所帮助hibernatedocs-transactionsandconcurrency 关于mysql-如何使用Play、Hibernate和MySql设置每个session的事务隔离级别,我们在Stack

java - Hibernate 对象映射导致 SQL 错误 (errno : 150) with Liquibase

我面临以下问题:对于我的Java项目,我使用SpringFramework、Maven和用于数据库管理的Hibernate3.6以及用于变更管理的Liquibase。现在我面临一个困扰我的问题。它与应从Hibernate创建的外键约束有关。2类具有具有关系的对象实体。观看以下代码:@Entity@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)publicclassSearchSingleextendsOfferSearchimplementsComparable,OfferSingle{privatestaticfinallo