草庐IT

java - 在 Grails 中使用 JPA 域类

我想在使用最新Grails里程碑(2.0.0.M1)开发的应用程序中使用JPA域模型。JPA域类位于应用程序的src\java目录中。基于thisblogpost它描述了如何在Grails应用程序中使用现有的JPA域模型,我创建了grails-app/conf/hibernate/hibernate.cfg.xml并带有我的JPA注释类列表。如果有人无聊到想自己运行应用程序,可以使用here.当您运行应用程序时,启动时会出现以下错误Error2011-08-0423:28:19,777[Thread-8]ERRORcontext.GrailsContextLoader-Errorexe

java - 多个 jar ,单个持久性单元解决方案?

包括我在内的一些人一直在努力将来自不同模块(jar)的实体合并到一个持久化单元中(尤其是JavaSE,例如这里的JPA2.0:AddingentityclassestoPersistenceUnit*fromdifferentjar*automatically)。根据答案,没有简单的直接方法可以做到这一点。一种解决方案是在单个持久性单元文件中列出所有jar中的所有类,但这并不是很优雅。我可能不小心找到了另一种方法。通常我所有的实体类都使用注解进行映射。至于解决方法:persistence.xml可以包含多个XML映射文件,例如:main.jar!META-INF/persistence

java - 多个 jar ,单个持久性单元解决方案?

包括我在内的一些人一直在努力将来自不同模块(jar)的实体合并到一个持久化单元中(尤其是JavaSE,例如这里的JPA2.0:AddingentityclassestoPersistenceUnit*fromdifferentjar*automatically)。根据答案,没有简单的直接方法可以做到这一点。一种解决方案是在单个持久性单元文件中列出所有jar中的所有类,但这并不是很优雅。我可能不小心找到了另一种方法。通常我所有的实体类都使用注解进行映射。至于解决方法:persistence.xml可以包含多个XML映射文件,例如:main.jar!META-INF/persistence

java - 如何检查 Hibernate 中的实体是否脏?

如何检查Hibernate中的实体是否处于脏状态?IE。我想设置UpdatedBy和UpdatedAt仅当某些字段已更改时。因此,我可以手动比较2个对象中的每个字段进行对象检查,但可能存在一些更优雅的方法吗?另外,如果我将对象的字段设置为与以前相同的值,hibernate是否会使实体dirty?即:Stringname=myEntity.getName()myEntity.setName(name);编辑:但我还有另一个问题-我有嵌套集合的实体,所以如果只更改了该集合中的元素,那么我只想在该集合元素上设置UpdatedBy,而不是在拥有该集合的对象上。我使用级联操作进行更新。

java - 如何检查 Hibernate 中的实体是否脏?

如何检查Hibernate中的实体是否处于脏状态?IE。我想设置UpdatedBy和UpdatedAt仅当某些字段已更改时。因此,我可以手动比较2个对象中的每个字段进行对象检查,但可能存在一些更优雅的方法吗?另外,如果我将对象的字段设置为与以前相同的值,hibernate是否会使实体dirty?即:Stringname=myEntity.getName()myEntity.setName(name);编辑:但我还有另一个问题-我有嵌套集合的实体,所以如果只更改了该集合中的元素,那么我只想在该集合元素上设置UpdatedBy,而不是在拥有该集合的对象上。我使用级联操作进行更新。

java - Spring Data JPA Projection 从数据库中选择的字段

我正在测试SpringData1.10.4.RELEASE,遵循SpringDataDocshttp://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projections中的示例我注意到一些问题,我有2个问题。首先让我们假设我有这两个实体:@EntitypublicclassPerson{@Id@GeneratedValueprivateLongid;privateStringfirstName,lastName;@OneToOneprivateAddressaddress;}@Entitypubliccla

java - Spring Data JPA Projection 从数据库中选择的字段

我正在测试SpringData1.10.4.RELEASE,遵循SpringDataDocshttp://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projections中的示例我注意到一些问题,我有2个问题。首先让我们假设我有这两个实体:@EntitypublicclassPerson{@Id@GeneratedValueprivateLongid;privateStringfirstName,lastName;@OneToOneprivateAddressaddress;}@Entitypubliccla

java - 如何建立基于非关键字段的关系?

我有以下两个实体,当我尝试将项目添加到我的汽车表时,它会显示以下错误消息;因此,它不允许我拥有多于一辆带“自动”传输的汽车。错误:#1062-Duplicateentry'Auto'forkey'UK_bca5dfkfd4fjdhfh4ddirfhdhesr'实体:汽车@EntitypublicclassCarimplementsjava.io.Serializable{@Id@GeneratedValuelongid;@Column(name="transmission",nullable=false)Stringtransmission;@OneToMany(fetch=Fetch

java - 如何建立基于非关键字段的关系?

我有以下两个实体,当我尝试将项目添加到我的汽车表时,它会显示以下错误消息;因此,它不允许我拥有多于一辆带“自动”传输的汽车。错误:#1062-Duplicateentry'Auto'forkey'UK_bca5dfkfd4fjdhfh4ddirfhdhesr'实体:汽车@EntitypublicclassCarimplementsjava.io.Serializable{@Id@GeneratedValuelongid;@Column(name="transmission",nullable=false)Stringtransmission;@OneToMany(fetch=Fetch

java - Hibernate 可以在性能敏感的应用程序中使用吗?

我发现在检索与其他对象有很多关系的多个对象实例时会出现性能问题。我在MySQL中使用Spring和Hibernate的JPA实现。问题是在执行JPA查询时,Hibernate不会自动连接到其他表。这会产生n*r+1个SQL查询,其中n是要检索的对象数,r是关系数。例如,一个人住在一个​​地址,有很多爱好,去过很多国家:@EntitypublicclassPerson{@IdpublicIntegerpersonId;publicStringname;@ManyToOnepublicAddressaddress;@ManyToManypublicSethobbies;@ManyToMan