草庐IT

hibernate3

全部标签

java - hibernate 条件 : how to order by two columns concatenated?

我有一个Person表,它有两列:first_name和last_name。Person类有两个对应的字段:firstName和lastName。现在我正在使用criteriaapi并尝试根据连接的这两列创建订单。可能吗?还是只能通过hql来实现? 最佳答案 这里是JBosshibernatesite的例子:fromDomesticCatcatorderbycat.nameasc,cat.weightdesc,cat.birthdate或来自同一网站,对于Criteriaapi:Listcats=sess.createCriteri

java - 由于 Bean Validation API,无法启动 Hibernate Validator

我正在尝试在我的项目中使用HibernateValidator,但它不起作用。在以下行中:SessionFactorysessions=config.buildSessionFactory(builder.build());我得到以下异常:org.hibernate.cfg.beanvalidation.IntegrationException:ErroractivatingBeanValidationintegrationatorg.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidati

java - Hibernate SQL In 子句使 CPU 使用率达到 100%

在我的java应用程序中,我使用SQL服务器和带EJB的Hibernate3。当我尝试使用In子句执行选择查询时,数据库服务器CPU使用率达到100%。但是,当我尝试在SQLmanagementstudio中运行相同的查询时,查询运行时没有任何CPU峰值。应用服务器和数据库服务器是两台不同的机器。我的表具有以下架构,CREATETABLEstudent_table(Student_IdBIGINTNOTNULLIDENTITY,Class_IdBIGINTNOTNULL,Student_First_NameVARCHAR(100)NOTNULL,Student_Last_NameVAR

java - 使用 Hibernate 时 @Immutable 和 @Entity(mutable=false) 有什么区别

两者有什么区别?一个实体应该使用一个还是两者都使用? 最佳答案 对于entity来说几乎没有区别。@Immutable获得优先级(也就是说,如果您的实体同时被注释为@Immutable和@Entity(mutable="true"),它是将被视为不可变的)。@Immutable也可以用于具有几乎相同语义的集合。详情为here 关于java-使用Hibernate时@Immutable和@Entity(mutable=false)有什么区别,我们在StackOverflow上找到一个类似的

java - 如何在 Hibernate 查询中将 Integer 参数设置为 null?

我有一个实体:@Entity@Table(name="smsc.security_users")publicclassUser{@Id@Column(name="id")privateintid;@Column(name="username")privateStringusername;@Column(name="password")privateStringpassword;@Column(name="enabled")privateintenabled;@Column(name="master_id",nullable=true)privateIntegermaster_id;@T

java - 如何在 hibernate 中的多对一映射上定义反向级联删除

我有两个类A和B。许多B可以与单个A关联,因此是从B到A的多对一关系。我已经将这种关系映射为:A没有任何映射到B。记住这一点,我们打算在删除关联的A时删除B。如果我可以在B中的多对一关联上定义一个inverse="true",但hibernate不允许这样做,这是可能的。有人可以帮忙吗?我们不想为此在A中写任何东西。 最佳答案 Hibernate仅沿定义的关联进行级联。如果A对B一无所知,那么你对A所做的任何事情都不会影响B。因此,Pascal的建议是做您想做的最简单的方法:......请注意,在B上设置cascade="delet

java - 使用 Hibernate @Index 注释在数据库上创建索引

我的项目中有注解驱动的hibernate功能。现在我想在列上创建索引。我当前的列定义是@NotNull@Column(name="hash")privateStringhash;然后我在此处添加了@Index注释。@NotNull@Column(name="hash")@Index(name="hashIndex")privateStringhash;然后DROPTABLE并重新启动Tomcat服务器。服务器实例化后,表已创建,但我在以下查询中看不到新索引。SHOWINDEXFROMtableName希望用新的索引建表。我正在将InnoDB与MySQL结合使用。

java - 使用 Hibernate 根据唯一键查找或插入

我正在尝试编写一种方法,该方法将基于唯一但非主键返回一个Hibernate对象。如果该实体已存在于数据库中,我想返回它,但如果它不存在,我想创建一个新实例并在返回之前保存它。更新:让我澄清一下,我编写此应用程序的目的基本上是输入文件的批处理程序。系统需要逐行读取文件并将记录插入数据库。文件格式基本上是我们模式中几个表的非规范化View,所以我要做的是解析父记录,或者将其插入数据库,以便我可以获得一个新的合成键,或者如果它已经存在,则选择它。然后我可以在其他表中添加额外的关联记录,这些记录有外键返回到该记录。这变得棘手的原因是每个文件都需要完全导入或根本不导入,即对给定文件完成的所有插入

java - Hibernate 中的自然标识符是什么?

在阅读Hibernate文档时,我不断看到对自然标识符概念的引用。这是否仅仅意味着一个实体由于其持有的数据的性质而拥有的ID?例如用户名+密码+年龄+某物用作复合标识符? 最佳答案 在Hibernate中,自然键通常用于查找。在大多数情况下,您将拥有一个自动生成的代理ID。但是这个ID对于查找来说毫无用处,因为您总是会通过姓名、社会安全号码或现实世界中的任何其他字段进行查询。当使用Hibernate的缓存功能时,这个区别非常重要:如果缓存是由您的主键(代理ID)索引的,那么在查找时不会有任何性能提升。这就是为什么你可以定义一组你将要

java - Hibernate 将用户模型保存到 Postgres

我正在通过Hibernate(注释)使用Postgres,但它似乎无法处理用户对象:12:09:16,442ERROR[SchemaExport]Unsuccessful:createtableUser(idbigserialnotnull,passwordvarchar(255),usernamevarchar(255),primarykey(id))12:09:16,442ERROR[SchemaExport]ERROR:syntaxerroratornear"User"如果我手动运行SQL,我必须在表名周围加上引号,因为user似乎是一个postgres关键字,但我如何才能说服h