
Hibernate连接池
我似乎无法hibernate使用c3p0进行连接池,它说12:30:35,038 INFO DriverManagerConnectionProvider:64 - Using Hibernate built-in connection pool (not for production use!)12:30:35,038 INFO DriverManagerConnectionProvider:65 - Hibernate connection pool size: 20hibernate配置:<hib...
2024-01-10
关闭hibernate日志记录控制台输出
我正在使用hibernate3,并希望阻止它将所有启动消息转储到控制台。我尝试注释掉log4j.properties中的stdout行,但是没有运气。我在下面粘贴了我的日志文件。另外,我在标准项目结构中使用eclipse,并且在项目文件夹的根目录和bin文件夹中都有一个log4j.properties副本。### direct log messages to stdout ####log4j.appender...
2024-01-10
如何在hibernate中启用批量插入?
使用hibernate时,当我尝试使用以下方式启用批量插入时 <property name="jdbc.batch_size">50</property>我得到以下输出: [...] cfg.SettingsFactory INFO - JDBC batch updates for versioned data: disabled [...] cfg.SettingsFactory INFO - Order SQL inserts for batching: disabled然后这个: [...] j...
2024-01-10
使用Hibernate防止SQL注入
我有一个现有的代码,其中应用程序根据很多条件生成不同的sql并通过hibernate会话createSQLQuery()执行它们。在这里,这些参数与作为普通字符串替换驻留在java类中的sql字符串相连接。现在的问题是,我需要防止sql注入。因此,为此,我必须使用getNamedQuery()并绑定参数,以便hibernate将处理特殊字符。...
2024-01-10
JPA / Hibernate加入常量值
我正在尝试使用join语句中的常量值从同一表中加入不同实体。在SQL中,我会做这样的事情…SELECT *FROM owner oJOIN types t on t.owner_id = o.id AND t.type = 'A'-- ^^^^^^^^^^^^^^^^ THIS IS WHAT I AM TRYING TO REPLICATE在Java + JPA / Hibernate中,我正在尝试执行以下操作…@Entity@Table(na...
2024-01-10
Hibernate使用条件执行更新
使用Criteriain 时可以执行更新Hibernate吗?例如:Session session = getSession();Criteria crit = session.createCriteria(User.class);crit.add(Restrictions.eq("token", sessionToken));User user= new User();Transaction tx = session.getTransaction();try { tx.begin(); ses...
2024-01-10
在Hibernate中加入UserType
在这种情况下,能否使休眠状态以“正确”的某个值来执行“正确的事情”?from ClassA a, ClassB bwhere a.prop = b.prop问题是prop是联接表中具有不同表示形式的UserType。在表A中,它表示为整数,在表B中,它表示为char。因此,eq测试转换为看是否1 ==’a’或多或少,这是错误的,但由1或’a’表示的对象应该...
2024-01-10
在Hibernate中使用本机SQL批量插入
我想使用Hibernate Native SQL在数据库中插入记录。代码如下 Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction();String sqlInsert = "insert into sampletbl (name) values (?) ";for(String name : list){ session.createSQLQuery( sqlInsert ) ...
2024-01-10
Hibernate可嵌入对象:找不到组件属性
我正在尝试将JPA @Embeddable与Hibernate 一起使用。实体和可嵌入对象都具有一个名为的属性id:@MappedSuperclasspublic abstract class A { @Id @GeneratedValue long id;}@Embeddablepublic class B extends A {}@Entitypublic class C extends A { B b;}这引起了org.hibernate.MappingException: c...
2024-01-10
HQL查询中出现Hibernate表未映射错误
我有一个使用Hibernate在数据库上进行CRUD操作的Web应用程序。我收到一条错误消息,说该表未映射。查看Java文件:错误信息:org.springframework.orm.hibernate3.HibernateQueryException: Books is not mapped [SELECT COUNT(*) FROM Books]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: Books is not m...
2024-01-10
使用hibernate从数据库获取下一个序列值
我有一个实体,该实体具有必须从序列中设置的NON-ID字段。目前,我获取序列的第一个值,将其存储在客户端,然后根据该值进行计算。但是,我正在寻找一种“更好”的方法。我实现了一种获取下一个序列值的方法:public Long getNextKey(){ Query query = session.createSQLQuery( "select nextval('mySequence')" ); Lon...
2024-01-10
Hibernate无法获取下一个序列值
我有gwt应用程序在后端连接到postgresDB,并且有一个Java类’Judgement’映射了数据库中的’judgements’表,当我尝试将判断持久化到db时,它引发了以下错误:Caused by: org.hibernate.exception.SQLGrammarException: could not get next sequence value...Caused by: org.postgresql.util.PSQLException: ERROR: relation "hibernat...
2024-01-10
JPA / Hibernate提高批处理插入性能
我有一个数据模型,该数据模型在一个实体和其他11个实体之间具有一对多关系。这12个实体一起代表一个数据包。我遇到的问题是与这些关系的“许多”方面发生的插入次数有关。其中一些可以具有多达100个单独的值,因此要将一个完整的数据包保存在数据库中,最多需要500次插入。我正在将MySQL 5.5...
2024-01-10
如何根据特定顺序对hibernate状态进行排序
我需要发送查询以检索具有特定字符组的值,如下所示:假设我对“ XX”感兴趣,因此它应该搜索其值以“ XX”开头或具有“ XX”(空格XX)的任何字段。例如XXCDEF,PDXXRF并且CMKJIEK XX是有效的结果。我有以下查询, ,使其首先返回XX开头的内容,然后返回其他结果。如下:XXABCDXXPLERXXRFKFAB XXABCD XXC...
2024-01-10
在JPA /hibernate模式下映射UUID时出现问题
根据文档,hibernate3.6应该支持java.util.UUID类型。但是当我像这样映射时:@Id protected UUID uuid;我得到以下异常:Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [test-applicationContex...
2024-01-10
如何通过JPA和Hibernate防止SQL注入?
我正在使用hibernate模式开发应用程序。当我尝试创建登录页面时,出现Sql Injection问题。我有以下代码:@Component@Transactional(propagation = Propagation.SUPPORTS)public class LoginInfoDAOImpl implements LoginInfoDAO{@Autowiredprivate SessionFactory sessionFactory; @Overridepublic LoginInfo ge...
2024-01-10
使用hibernate标准,是否可以转义特殊字符?
对于此问题,我们希望避免编写特殊查询,因为该查询在多个数据库中必须有所不同。仅希望使用hibernate条件,我们希望能够转义特殊字符。这种情况是需要转义特殊字符的原因:假设我们在数据库中有表“ foo”。表’foo’仅包含1个字段,称为’name’。“名称”字段可以包含在数据库中可能被认为...
2024-01-10
如何使用弃用警告修复Hibernate查询?
有人知道如何避免以下代码的下一个警告吗?org.hibernate.hql.internal.ast.HqlSqlWalker [HqlSqlWalker.java:929] [DEPRECATION] Encountered positional parameter near line 1, column 56. Positional parameter are considered deprecated; use named parameters or JPA-style positional par...
2024-01-10
Hibernate:带注释的动态表名称的数据对象
我有一个与表关联的Hibernate数据类;想象这样的实体 人 : @Entity @org.hibernate.annotations.Proxy(lazy=false) @Table(name="Person", schema="MySchema") @Inheritance(strategy=InheritanceType.SINGLE_TABLE) public class ProfileData implements Serializable { private static final l...
2024-01-10
使用身份标识符生成器时,Hibernate禁用了插入批处理
Hibernate文档说:如果使用身份标识符生成器,则Hibernate透明地在JDBC级别禁用插入批处理。但是我所有的实体都具有以下配置:@Id@GeneratedValue(strategy = javax.persistence.GenerationType.IDENTITY)private Integer id;当我在上方使用此身份时有什么问题IDENTITY?批量插入被禁用了吗?我该如何解决?回答:Hib...
2024-01-10
如何获取通过Hibernate连接到的数据库名称?
我正在尝试获取在SQL Server中连接到的数据库的名称。我试着做:Query query = session.createQuery("SELECT db_name()");List<String> dbNames = query.list();但是,出现以下错误:[ERROR PARSER:35] *** ERROR: <AST>:0:0: unexpected end of subtreeException in thread "main" java.lang.IllegalStateExcepti...
2024-01-10
如何在前端使用Hibernate乐观锁定版本属性?
使用版本属性对实体进行乐观锁定可以很好地实现,并且易于实现:<version property="VERSION" type="int" column="EX_VERSION" />实体具有以下类型的属性:private int VERSION;public int getVERSION() { return VERSION; }public void setVERSION(int VERSION) { this.VERSION = VERSION; }到目前为止,一切都很好。现在,服务方法返回上述实体的...
2024-01-10
如何使用JPA和Hibernate设置默认查询超时?
我正在使用Hibernate对数据库进行一些大查询,有时会遇到超时问题。我想避免在每个Query或上手动设置超时Criteria。我可以为Hibernate配置提供任何属性,为我运行的所有查询设置可接受的默认值吗?如果没有,如何在Hibernate查询上设置默认超时值?回答:JPA 2定义了 javax.persistence.query.timeout 提示以指定...
2024-01-10
为什么在Hibernate中需要事务才能进行只读操作?
为什么在Hibernate中需要事务才能进行只读操作?以下事务是否在数据库中设置了锁定?从数据库获取示例代码:Transaction tx = HibernateUtil.getCurrentSession().beginTransaction(); // why begin transaction?//readonly operation heretx.commit() // why tx.commit? I don't want to write anything我可以session.close() 代...
2024-01-10
Hibernate删除错误:批处理更新返回了意外的行数
我在下面编写了此方法,该方法假定是从数据库中删除成员记录。但是,当我在servlet中使用它时,它将返回错误。public static void deleteMember(Member member) { Session hibernateSession = HibernateUtil.getSessionFactory().getCurrentSession(); Transaction tx = hibernateSession.beginTransaction(); hiberna...
2024-01-10
